二叉树的遍历

事先声明书的根结点只有一个,我下面说的是将这个树按层拆分开来所说的

先序遍历:只要记住线序遍历的顺序为根——>左——>右的顺序就可以了

1.首先A为根,我们将A先写出来,然后到A的左子树B,然后到A的右子树E,那么现在就是A、B、E

2.下一层B为根,我们看见B没有左子树,不写,有右子树C,然后写上,那么现在的顺序就是A、B、C、E;但是在这一层上还有一个根E,所以我们还是要继续写下去,同理,E没有左子树,有右子树F,我们加上F,最终的第二层为止就是A、B、C、E、F

3.照上所说,此时分别将C、F作为根,遍历C的左子树D与F的左子树G,那么现在就为A、B、C、D、E、F、G 我们发现D与G相当于是被插进去的

4.最后以G为根,得到结果为A、B、C、D、E、F、GHK

 

中序遍历:中表示中间的意思,所以此时根在中间访问,即左——>根——>右

其实与上面说的都是一样,先看第一层,只有一个A,我们先把A写好,然后看第二层,此时B为A的左子树,我们要记住左根右的顺序,所以将B写在A的前面,E写在A的后面,分别以C、F为根,D为左子树,我们将D写在C的左边,G也是一样为左子树写在F的左边,到此为止的顺序为 B、D、C、A、E、G、F

最后只剩下G根了,此部分为H、G、K

将上面的连接起来最后为你B、D、C、A、E、H、G、K、F

 

后序遍历:后为根在最后,即左——>右——>根

这个我都不想仔细说了,直接来结果吧:D、C、B、H、K、G、F、E、A

思路与上面的一样

posted @ 2019-07-19 20:38  阿_中  阅读(103)  评论(0编辑  收藏  举报