已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是

论坛 期权论坛 期权     
白Se星空   2018-4-26 14:02   4146   2
已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是
    A)acbed      B)decab     C)deabc        D)cedba
谁能帮我画个图,我看了网上的对遍历的介绍,还是有点乱
分享到 :
0 人收藏

2 个回复

正序浏览
3#
黑道人BZ31  4级常客 | 2018-4-30 01:54:14 发帖IP地址来自
前序: 根左右
中序: 左根右
后序: 左右根

```````````````````C
                        /
                     e
                    /   \
                 d         b
                                 \
                                     a

前序: cedba
2#
hky_bd2010  2级吧友 | 2018-4-30 01:54:13 发帖IP地址来自
中序遍历:DEBAC 聽 聽
后序遍历:DABEC


推导如下:
1、从后序可知树根为C,因为最后的节点是树根。
2、从中序的规则可知树根在中间,树根的左边是左孩子,右边是右孩子。很明显树根C是没有右孩子,只有左孩子DEBA。


中序遍历:DEBA
后序遍历:DABE
推出E是左子树的根结点,并且存在左子树D,右子树BA,因为从中序遍历可知E的左边是D,右边是BA


中序遍历:BA
后序遍历:AB
推出B是右子树的根结点,并且存在右子树,但没有左子树,因为从中序遍历可知B只有右子树,没有左子树。


还原二叉树如下图:




前序为:CEDBA
推导的方法只需记住下面的规则即可,然后逐步分割法,就像我上面那样推导。拿到左右子树反复套用下面的遍历规则,很快就可以还原一棵完整的树。
1.先序遍历:根、左、右
2.中序遍历:左、根、右
3.后序遍历: 左、右、根
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP