由前序,中序或中序,后序可以构建一棵树

由前序,中序或中序,后序可以构建一棵树。其基本思想在于根据前序或后序判断根节点的位置,然后根据中序判断左右子节点的位置。

可参考如下文章:

问     题:

若某二叉树的前遍历访问顺序是序abdgcefh,中序遍历顺序是dgbaechf,则后序遍历的访问顺序是什么。

解    答:

此题的解答过程如下:
(1)由前序遍历结果我们可知a为根结点,再看中序遍历结果,因为中序遍历顺序是左子树、根、右子树,因此由“中序遍历顺序是dgbaechf”可断定,dgb为该二叉树的左子树中序遍历结果,echf为右子树中序遍历结果。
(2)由前序遍历结果可知,左子树的前序遍历结果是bdg,右子树的前序遍历结果是cefh;因此,和第一步分析类似,可知b为左子树的根,再由“dgb 为该二叉树的左子树中序遍历结果”可知,dg为该左子树的左子树的中序遍历结果,再由dg在前序遍历结果中排列顺序dg可知,d为根,因此由“dg为该左 子树的左子树的中序遍历结果”可推出g为d的右孩子。
到此为止,可以完全推断出该二叉树的左子树的结构了。
按照同样方法,可以推断出该二叉树的右子树的结构,因此整个二叉树的结构图如下:
据此图,不难看出该二叉树的后序遍历结果是:gdbehfca.

 

宽度优先遍历,又称层序优先遍历, 遍历的顺序为:先遍历根结点,然后依次遍历根的孩子结点以及孩子结点的兄弟结点和堂兄弟结点,就这样一层层遍历下来,直到整个树都遍历完了为止,这里不便 发图,举个例子说吧,像是一个族谱,假设根是张三,从张三开始遍历,张三遍历完了后接着遍历张三的儿女,侄子侄女,外甥等,即他下一代的,在完了就是他的 孙儿孙女,这样一代代来,直至整个族谱都遍历完.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值