二叉树的三种遍历

在这里说一下二叉树的三种遍历(前序,中序,后序)

————————有不足之处欢迎在评论中指出(握手)

二叉树的基础知识在这里就不说了,树的基本构造个人认为百度百科就讲的挺详细(点击打开链接)。

正文:

    前序遍历:是指先从根开始,再依次找寻左子结点、右子结点。

    学习时的经验就是“看图学习”

    第一份图:

这样看来:

1.先找最基本的根结点(词穷),这里是a。

2.接着找以a为根结点的左子结点,这里是b。

3.而以b为根结点也会出现左右结点,这就又有了一个左结点d,d再连e(d-e)。

4.去找以b为根结点的右结点(为f-g)

5.以b为根结点的左右结点已找完,那便找上一层,也就是以a为根结点的右结点(b为左结点),便为c。

综上所述,上图的前序遍历为(a-b-d-e-f-g-c)

——————————

中序遍历:其实差不多(呵),就是把“根结点-左结点-右结点”的顺序换为“左结点-根结点-右结点”

以上图为例(再贴波图):

中序遍历为:d-e-b-g-f-a-c

注意点就是从下向上,就是从e-d,从子结点到结点。(个人认为差别就这一点,如果不懂再细述)

——————————

后序遍历:和以上两种进行区别便是先从左子结点开始,在去找右子结点,最后去找根结点。

那么这个图的后序遍历为:e-d-g-f-b-c-a

 

——————————————————————

再贴一个层序遍历吧:

其实层序遍历顾名思义就是一层一层的访问,一层访问结束再访问下一层(注意,这里指的是整颗树,不再单纯指某子树了)

那么以上面那张图为例

 本图的层序遍历便是:a-b-c-d-f-e-g

 

最后再贴上让我豁然开朗那个图(侵删)


版权声明:本文为WYQIMJ原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。