根据中序,先序;或中序 后序 遍历 结果 可以推出原二叉树

  1. 先找到 根节点 在找左子树,右子树,再找左子树根节点,右子树根节点,
  2. 左子树,右子树 一直这样迭代,递归下去!

1、根据中序,先序;或中序 后序 遍历 结果 可以推出原二叉树

  • 解答 遍历结果
    先序:先访问 根节点 再先序访问 左子树 再放问右子树
    A B C D E F G H
    中序: 先访问左子树 再访问 根节点 再访问 右子树
    C B D A E G F H
    后续: 先后续遍历左子树,再后序遍历右子树,再后序遍历根节点
    C D B G H F E A

  • 先序和中序 反推原二叉树
    先序第一个为A 根节点
    中序 根节点前 为左子树中的 C B D 的
    根据先序 先访问根节点A后 B C D 说明 左子树 先访问B 为左子树根节点
    C D 可能是 依次 在B子孙节点 左下 也有可能子节点 左右。
    根据 中序C B D 根节点 为B 说明 B 前面为左子树根节点 的下一个左子树
    所以C只能为左边 D紧跟着右边;
    根据先访问根节点 E 为右子树根节点 则 中序中 E前面没有左子树 。
    根据 先序遍历先访问 根节点 F 为右子树 根节点 ;中序F前有G说明F为根节点的右子树 下面有 左子树G ;H为 该根节点 右子树 ;

  • 中序和后序遍历 反推原二叉树
    先序:先访问 根节点 再先序访问 左子树 再放问右子树
    A B C D E F G H
    中序: 先访问左子树 再访问 根节点 再访问 右子树
    C B D A E G F H
    后续: 先后续遍历左子树,再后序遍历右子树,再后序遍历根节点
    C D B G H F E A

根据 上一步中序得到的 左子树中 从下到上左节点 判断 左子树的根节点点为B
右子树为访问完左子树
后续遍历中 根节点为A 右子树节根节点为E
C为左子树中最左下的点 D 为最右的点或者左下上的父节点,
根据中序,因为最左下一定是C 右边有没有得看第二个是不是和后续一样
一样就是根节点,所以D在左子树 下面叶子节点 最右边, B为 最小左子树的根节点。

  • 先序 遍历 和 中序遍历
    在这里插入图片描述
  • 中序遍历
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值