二叉树遍历分析

  简单二叉树遍历,可分为:先序,中序,后序。

  在此分别总结先序,中序,后序的结点输出顺序。

  先序: 1.访问根结点

    2.访问左子树

    3.访问右子树

 

先序较简单,不予以即系解释。

  中序:1.访问左子树

     2.访问根结点

       3.访问右子树

    原则:访问左子树。【先访问左子树中的左子树,再访问左子树中的右子树。】直到访问到叶子结点后输出。

       输出根。

         访问右子树。【先访问右子树中的左子树,再访问右子树中的右子树。】直到访问到叶子结点后输出。

具体步骤如下:

  A作为根。从A开始,先访问A的左子树。即

在看B的左子树,D。则输出D。B无左子树。访问完B的左子树。然后访问B。输出B。再看B的右子树。F有左子树E,则输出E。返回输出F。A的左子树全部输出完,再返回A,输出A。

  

同理,看A的右子树。。输出顺序为G,H,C,I。

 

所以,中序遍历输出的结果为:(D B E F)A(G H C I).

 

  后序:1.访问左子树

     2.访问右子树

          3.访问根

     原则:访问左子树。【先访问左子树中的左子树,再访问左子树中的右子树】。直到访问到叶子结点后输出。

        访问右子树。【先访问右子树中的左子树,再访问右子树中的右子树】。直到访问到叶子结点后输出。

        再返回访问根,并输出。

具体步骤:

  先访问A的左子树。再访问左子树中的左子树。【即:A的左子树为B,再访问B的左子树D。D没有左右子树,输出D。】,然后访问左子树中的右子树。【即:访问B的右子树F,F还有左子树,再访问F的左子树E,E没有左右子树。输出E。再输出F,再输出B。】。

  然后访问A的右子树。再访问右子树中的左子树。【即:A的右子树为C,再访问C的左子树G。G还有右子树H,输出H。再输出G,再输出G】,然后访问右子树中的右子树。【即:访问C的右子树I,I没有左右子树,输出I。在输出C。再输出A。】。

  所以,后序遍历输出结果为:(D E F B)(H G I C)A

 

 

 

本节课时网页链接:http://mooc.study.163.com/learn/ZJU-1000033001?tid=1000044001#/learn/content?type=detail&id=1000112008&cid=1000102047

 

转载于:https://www.cnblogs.com/shunyu/p/4986288.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值