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

 我来答
想要外双的小可爱
2018-01-21 · TA获得超过1万个赞
知道小有建树答主
回答量:15
采纳率:100%
帮助的人:6314
展开全部

前序遍因序列是cedba。

二又树的遍历有3种:前序、中序和后序。

①前序首先遍历访问根结点,然后按左右顺序遍历子结点。

②中序遍历首先访问左子树,然后访问根结点,最后遍历右子树。

③后序遍历首先遍历左子树,然后遍历右子树,最后访问根结点。本题根据后序和中序遍历的结果可以得出二叉树的结构,然后再对其进行前序遍历。

二叉树

在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。

二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2^{i-1}个结点。

深度为k的二叉树至多有2^k-1个结点;对任何一棵二叉树T,如果其终端结点数为n_0,度为2的结点数为n_2,则n_0=n_2+1。

一棵深度为k,且有2^k-1个节点称之为满二叉树;深度为k,有n个节点的二叉树,当且仅当其每一个节点都与深度为k的满二叉树中,序号为1至n的节点对应时,称之为完全二叉树。

百度网友0c4ddf3aa
2008-03-13
知道答主
回答量:17
采纳率:0%
帮助的人:0
展开全部
由后序(左子树,右子树,根节点)dabec知道根节点为c,再通过中序(左子树,根节点,右子树)知道右子树为空
接着由dabe知道其根节点为e,所以在中序deba中左子树为d右子树为ba
再来,后序ab,中序ba,b为节点,a为右子树
前序遍历序列为cedba
----c
---/
--e
-/--\
d ----b
-------\
---------a
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zyr江火似流萤
2018-01-03 · TA获得超过9923个赞
知道小有建树答主
回答量:125
采纳率:100%
帮助的人:2.2万
展开全部
  1. 后序遍历序列可确定根结点为c。

2.再依据中序遍历序列可知其左子树由deba构成,右子树为空。

3.又由左子树的后序遍历序列可知其根结点为e,由中序遍历序列可知其左子树为d,右子树由ba构成,求得该二叉树的前序遍历序列为选项A。

4.本题中后序和中序第一个节点都是D,那么可以确定:

5.D没有右子树,D本身是一个节点的左子树。中序遍历,D后面是E,说明D父节点是E,在草稿上画出来这个关系。

6.在看中序遍历E后面是B,说明B是E的右子树,这样我们确定了3个节点了。

7.再看中序的遍历B后的是A,但我们无法确定是左还是右,先放着,继续看后序遍历E后面是C,通过这个条件,说明C可能是E的父节点的右子树,也可能就是E的父节点。

8.但是本题一共只有5个节点,所以C肯定是E的父节点。

9.这样,我们可以确定4个节点了,这剩下A节点。要区分A是左还是右,我们看后序遍历,A是在D之后,B之前,这个条件也只能说A是B子节点,但仍然不能说明左右。

10.所以我觉得:这道题有2个解:A在左在右,都是正确的。

11.A是左是右,都符合后序和中序的遍历,都为正确。所以,只画这个图是不完整的,应该把A分别为左右节点的图都画出来。

12.作为答案,A的位置不同,虽然先序遍历的结果都一样,但是图是不一样的。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式