二叉树的先序,中序,后序遍历序列(初级思路,不含代码)

       今天做题看见二叉树的遍历题,有点忘了,百度了一下。发现没有很详细的说明,幸好之前已经会了,看两个例子就会了。所以打算自己写个说明,给那些刚学习二叉树遍历和刚开始笔试忘记了的兄弟们。(这里的例子均为网上找到的例子,虽然自己写例子也可以,但怕因为打错字或者各种问题,答案不对的话会造成不必要的麻烦<嘻嘻>)

先看一下定义:(估计想学的同学已经看过无数遍了)

(1)先序遍历:(根左右)

(2)中序遍历:(左根右)

(3)后序遍历:(左右根)

下面依次分析:(拿例子分析比较直接)

先序遍历

先来看一下先序遍历:先是根然后左分支然后右分支,这个懂的人都懂,但不懂的人就很迷茫了,感觉这句话不就是说明A在第一个,然后遍历左边再右边吗<博主以前就是这么想的>,其实不是的,下面给大家详细说一下把,至于中序与后序都是大同小异了。

先看一下整体,先根再左分支,然后右分支。说明先是A然后左边分支然后右边分支:A+A的左分支+A的右分支。再把左分支取出来,如下图:

这个也遵循规则先根在左分支再右分支的特点,根为B,左分支为D,右分支并不是一个字母所以先定为B的右分支,所以是A+B+D+B的右分支+A的右分支。然后B的右分支也遵循先根再左再右的法则,根为E,左分支为F,右分支为G,变为A+B+D+E+F+G+A的右分支。再将A的右分支提出来。

将右分支作为一个单独的分支来看,遵循先根再左再右的法则,根为C,左分支为空,右分支不是一个字母,所以定为C的右分支。排序为ABDEFGC+C的右分支,再看C的右分支,根为H,左分支为I,右分支为空。所以先序遍历为:ABDEFGCHI.

中序遍历

再来看看中序遍历,中序遍历的法则为先左再根再右,所以为A的左分支+A+A的右分支,老规矩看看左分支,

按先左再根再右的法则,左分支为D、根为B,右先定为B的右分支,所以为D+B+B的右分支+A+A的右分支。再来看一下B的右分支,遵循法则,左分支为F、根为E、右分支为G。所以为DBFEGA+A的右分支。再看一下A的右分支。

左分支为空,根为C。右分支先定为C的右分支,所以为DBFEGAC+C的右分支。看一下C的右分支,左分支为I根为H,右分支为空。所以中序遍历为DBFEGACIH。

后序遍历:

最后看一下后序遍历,估计看明白先序与中序的兄弟们看这个后序应该也很简单了,老规矩,先把最初的按照先左分支再右分支,最后再根的法则写出来。A的左分支+A的右分支+A,然后看一下左分支。

这里面,左分支为D根为B,右分支定为B的右分支,所以为D+B的右分支+B+A的右分支+A。看一下B的右分支,这里面左分支为F,根为E,右分支为G,根据后序遍历先左再右再根的法则,为D+F+G+E+B+A的右分支+A。下面看一下A的右分支。

左分支为空,右分支定为C的右分支,根为C,按招后序排列的法则,为DFGEB+C的右分支+CA。在C的右分支里面,左分支为I,根为H,右分支为空,按照法则得出后序遍历为DFGEBIHCA。

到这里三种遍历都讲完了,下面再给出几道例题帮兄弟们测试一下,但博主感觉讲的挺详细的,应该能懂<应该把>,

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

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

后序遍历 : H D I E B J K F G C A

前序序列:ABCDEGF
中序序列:CBEGDFA
后续遍历:CGEFDBA

先序遍历:ABDFCEGHI

中序遍历:BFDACHGIE

后序遍历:FDBHIGECA

//看了上面的例子做一些下面的题就应该懂了把。如果还不懂可以留言或者私聊博主,这里没有涉及代码和已知前序遍历和中序遍历求后序遍历之类的,因为博主感觉你理解了前中后序遍历的根本,求这种应该很简单的。

  • 34
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值