2 qq 33286911 qq_33286911 于 2016.02.03 21:04 提问

数据结构 根据遍历画出树 在线等

二叉树T的中序遍历序列和层次遍历序列分别是BAFDGCE和ABCDEFG,

试画出该二叉树

具体是怎么做出来的?

3个回答

wangzhiyu1980
wangzhiyu1980   2016.02.03 22:51
已采纳

1) 根据层次遍历ABCDEFG A应该在第一层,但BCD等其他不确定。
2) 看中序遍历 BAFDGCE,先左,再中,再右,可确定 B是左子树且唯一,A是根其他是右子树
3) 再看层次遍历ABCDEFG,AB确定,那C应该是右子树,再根据中序遍历确定C的子树。

caozhy
caozhy   Ds   Rxr 2016.02.03 21:19

根据层次遍历可以知道根节点是a
根据中序看出,a肯定有左右孩子,因为如果只有左孩子,那么a应该在最后
所以bc是第二层
同样的道理,b没有左右孩子(因为中序b前面没有了,b后面就是a了)c有左右孩子
所以下一层有2个,de,最后看出fg是d的孩子

画出来就是

        a
 b        c
        d    e 
            f   g
mxl930510
mxl930510   2016.02.05 10:38

1.根据层次遍历ABCDEFG A根节点。
2.根据中序遍历 BAFDGCE,左中右的顺序,可确定 B是A的左子树
3.再看层次遍历ABCDEFG,由于AB以确定,按照层次遍历中左右顺序,C为A的右子树。
4.再根据中序遍历,确定E为C的右子树,再看层次确定出C的左子树

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!