当前位置:   article > 正文

【数据结构】树-树和森林的遍历(动态图解)_森林的中序遍历

森林的中序遍历

GitHub同步更新(已分类)Data_Structure_And_Algorithm-Review

公众号:URLeisure 的复习仓库
公众号二维码见文末

以下是本篇文章正文内容,下面案例可供参考。


一、树的遍历

  • 树的遍历操作包括先根遍历后根遍历两种方式。

以下图树为例。

在这里插入图片描述

  • 将此树转化为二叉树如图。

在这里插入图片描述

先序遍历:
A B E F C D G I H ABEFCDGIH ABEFCDGIH

中序遍历:
E F B C I G H D A EFBCIGHDA EFBCIGHDA

1). 先根遍历

  • 如果树非空,则先访问根节点,然后按从左向右的顺序,先跟遍历根节点的每一棵子树。(像是对树进行类似二叉树的先序遍历

  • 树的先根遍历顺序与该树对应的二叉树的先序遍历顺序相同。

(有个地方画的有点问题,但不影响观看)
先根遍历
先 根 遍 历 : A B E F C D G I H 先根遍历:ABEFCDGIH ABEFCDGIH

2). 后根遍历

  • 如果树非空,则按从左向右的顺序,后根遍历根节点的每一棵子树,然后访问根节点。(像是对树进行类似二叉树的后序遍历步骤)
  • 树的后根遍历顺序与该树对应的二叉树的中序遍历顺序相同。

在这里插入图片描述
后 根 遍 历 : E F B C I G H D A 后根遍历:EFBCIGHDA EFBCIGHDA

二、森林的遍历

  • 森林的遍历操作包括先序遍历中序遍历两种方式。

以下图森林为例。

在这里插入图片描述

  • 将此森林转化为二叉树如图。

在这里插入图片描述

先序遍历:
A B C D E F G H J I ABCDEFGHJI ABCDEFGHJI

中序遍历:
B C D A F E J H I G BCDAFEJHIG BCDAFEJHIG

1). 先序遍历

  • 如果森林非空,则先访问第一棵树的根节点,先序遍历第一棵树的根节点的所有子树森林;
  • 先序遍历除第一棵树之外,剩余树构成的森林。(像是对森林进行类似二叉树的先序遍历步骤)
  • 森林的先序遍历顺序与该森林对应的二叉树的先序遍历顺序相同。

(有个地方画的有点问题,但不影响观看)

在这里插入图片描述
先 序 遍 历 : A B C D E F G H J I 先序遍历:ABCDEFGHJI ABCDEFGHJI

2). 中序遍历

  • 如果森林非空,则中序遍历第一棵树的根节点的子树森林,然后访问第一棵树的根节点
  • 中序遍历除第一棵树之外,剩余树构成的森林。(像是对森林进行类似二叉树的后序遍历步骤)
  • 森林的中序遍历顺序与该森林对应的二叉树的中序遍历顺序相同。

在这里插入图片描述
中序遍历:
B C D A F E J H I G BCDAFEJHIG BCDAFEJHIG

总结

  • 树和森林的遍历与二叉树的遍历对应关系
森林二叉树
先根遍历先序遍历先序遍历
后根遍历中序遍历中序遍历

关注公众号,感受不同的阅读体验

请添加图片描述

下期预告:实现树的深度、叶子数、节点数

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/625849
推荐阅读
相关标签
  

闽ICP备14008679号