已知二叉树的后序序列和中序序列,求先序序列。

后续遍历=左子树,右子树,根,中序遍历=左子树,根,右子树

已知二叉树后序遍历序列是DBCEFGHA,中序遍历序列EDCBAHFG,它的前序遍历的序列是?

由后序遍历序列是DBCEFGHA,可以看出整棵树的根节点是A,再看中序遍历序列EDCBAHFG 

A是根节点,左子树由A左边的元素EDCB构成,右子树由A右边的元素HFG构成 

也就是 

/----\ 

EDCB--HFG 

看左子树有4个元素EDCB 

后序遍历序列是DBCE 

最后访问E

可以确定A下边连接的是E

根据中序遍历序列EDCB 

最先访问E

由于中序遍历E前面没有元素 

可以确定E左子树为空 

即下面的样子 

 A

/\ 

DBC 

也就是还剩下DBC的顺序没理好 

后序遍历序列是DBC 

最后访问C

则C为根节点 

连接E 

中序遍历序列DCB

C前边有D 

后边有B 

哪么可以确定DCB这棵树为 

/\ 

D B 

哪么整棵树的左子树就确定了 

为 

/\ 

D B 

同理 

右子树应为 

F

二叉树:

             A

        /        \

       E          H

           \            \

              C          G

            /    \        /

          D        B    F

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值