已知二叉树后序遍历序列是DBCEFGHA,中序遍历序列EDCBAHFG,它的前序遍历的序列是?麻烦再画下这二叉树.

来源:百度知道 编辑:UC知道 时间:2024/05/29 02:42:43
已知二叉树后序遍历序列是DBCEFGHA,中序遍历序列EDCBAHFG,它的前序遍历的序列是?麻烦再画下这二叉树.
楼下这位很我大概知道了,目前停留在几个地方依旧不懂,请耐心解释下,新人学习没办法
你说的
----------
a
/----\
EDCB--HFG
到这里应该都懂吧
那接下来就着重讲一下左子树的确定
右子树同理可得了
-----------------
请问右子树同理?为什么确定中序根右HFG和后序左根DBCEFGH中是去HFG,而不是EDCB?
问题是不是有点白?但是别什么同理啊,具体写一个都不能少啊,我是从来没接触过,直接学习,无基础知识,所以只有靠你们详细点啊,麻烦了!

后续遍历的顺序是左右根,中序遍历的顺序是左根右 

这点应该懂吧 

由后续访问序列可以看出最后一个被访问的必定是这个树的根 

而中序遍历的序列可以看出,一棵树当根确定后,在根前面被访问的是他的左子树,后边的是他的右子树元素 

弄懂了上边两点就开始做题吧 

由后序遍历序列是DBCEFGHA 

为了方便,我写小写字母了啊 

可以看出整棵树的根节点是a 

再看中序遍历序列EDCBAHFG 

a是根节点 

左子树由a左边的元素EDCB构成 

右子树由a右边的元素HFG构成 

也就是 

/----\ 

EDCB--HFG 

到这里应该都懂吧 

那接下来就着重讲一下左子树的确定 

右子树同理可得了 

看左子树有4个元素EDCB 

后序遍历序列是DBCE 

最后访问e 

可以确定a下边连接的是e 

根据中序遍历序列EDCB 

最先访问e 

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

可以确定e左子树为空 

即下面的样子 

/\ 

dbc 

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

后序遍历序列是dbc 

最后访问c 

则c为根节点 

连接e 

中序遍历序列dcb 

c前边有d 

后边有b 

哪么可以确定dcb这棵树为 

/\ 

已知二叉树后序遍历序列是dabec,中序遍历序列debac,它的前序遍历的序列是 已知二叉树后序遍历序列是DABEC 中序遍历列是 DEBAC ,它的前序遍历序列是: 已知二叉树的后序遍历序列dabec,中序遍历序列是debac,它的前序遍历序列是什么 已知一棵二叉树的先序遍历序列和中序遍历序列,编写一个程序唯一确定一棵二叉树 已知遍历一棵二叉树的三种序列的任意两种,如何画出二叉树 已知二叉树T中结点的前序和中序遍历序列建立一棵二叉树 已知一二叉树前序遍历为ABDEGCFH,中序遍历为DBGEACHF,则该二叉树的后序列遍为什么? 已知二叉树的先序序列为ABCDEFGHIJ,中序遍历为CBEDAGHFJI,前构造(画出)该二叉树?快!!!! 数据结构,已知遍历反推二叉树 那么二叉树中的各种遍历序列又是怎么回事呢?