二叉树遍历的超简单方法

二叉树遍历的超简单方法

参考链接:https://wenku.baidu.com/view/e5463e4203d8ce2f0166230a.html
已修改部分问题。

三种常见二叉树的遍历

  • 先序遍历的递归算法定义(简称根左右)
    若二叉树非空,则依次执行如下操作:
      1.访问根结点;
      2.遍历左子树;
      3.遍历右子树。
  • 中序遍历的递归算法定义(简称左根右)
    若二叉树非空,则依次执行如下操作:
      1.遍历左子树;
      2.访问根结点;
      3.遍历右子树。
  • 后序遍历得递归算法定义(简称左右根)
    若二叉树非空,则依次执行如下操作:
      1.遍历左子树;
      2.遍历右子树;
      3.访问根结点。

在这里插入图片描述
现在以上面的二叉树为例子,说下三种遍历的方法

  • 先序遍历(简称根左右):

1.从最上的第一层根结点F开始,按照 根左右 的原则,写出先序遍历顺序:FCE
2.继续对第二层进行分析,第二层有结点C和E。可以看见C、A、D和E、G可以组成两组小二叉树,那么现在对这两组小二叉树进行先序遍历,得出答案分别是CAD和EG。好了,现在把我们刚做出的答案CAD和EG代进去第一步做出的答案FCE里面,就得出答案:FC(AD)E(G)了
3.同理对第三层进行分析,D、B和G、H、P可以组成两组小二叉树,我们就对他们进行先序遍历,结果就是DB和GHP了。同样地,把这两个答案代进上一步的结果里面,答案就是FC(AD(B))E(G(HP))
4.把第三步答案里面的括号全部去掉,得出最终答案FCADBEGHP

  • 中序遍历(简称左根右):

1.从最上的第一层根结点F开始,按照 左根右 的原则,写出先序遍历顺序:CFE
2.继续对第二层进行分析,写出答案(A)C(D)FE(G)
3.对第三层进行分析,写出答案(A)C((B)D)FE((H)G(P))
4.去掉括号,得出:ACBDFEHGP

  • 后序遍历(简称左右根):

1.从最上的第一层根结点F开始,按照 左右根 的原则,写出先序遍历顺序:CEF
2.继续对第二层进行分析,写出答案(AD)C(G)EF
3.对第三层进行分析,写出答案(A(B)D)C((HP)G)EF
4.去掉括号,得出:ABDCHPGEF

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值