早教吧作业答案频道 -->数学-->
已知一棵二叉树的中序序列和后序序列分别为c,b,a,e,d,h,g,j,i,f和c,b,e,h,j,i,g,f,d,a画出这棵二叉树,并写出其前序遍历序列
题目详情
已知一棵二叉树的中序序列和后序序列分别为c,b,a,e,d,h,g,j,i,f 和 c,b,e,h,j,i,g,f,d,a
画出这棵二叉树,并写出其前序遍历序列
画出这棵二叉树,并写出其前序遍历序列
▼优质解答
答案和解析
这个问题我答了几次,搜一下就有答案了:
很简单.这也是个递归过程.
知道后序,就能找到“根”,是最后一个节点.
知道“根”节点,就好办了,从中序中把根结点找到,它左边是左子树的中序,
右边是右子树的中序,知道这两子树的中序,就能从后序中,把左子序、右子树
找出来(据中序的左、右子树的结点数).
这样,根节点找出来了,左子数的后序、中序就分离出来了,右子数也分离出来了,
这个问题,就化成两个新树的问题.同样的办法如此,就是递归成两个子树的新问题.
如果用程序,一样用递归就做出来了.
如:后序中最后一个a就是根,从中序就能分出左右子树:
c b及 e d h g j i f 这是中序;
就可从后序分出左右子树:
cb 及 e h j i g f d
这个问题就变成了两个树的同样问题了.
左子树的中序c b,后序 c b
右子树的中序e d h g j i f 后序 e h j i g f d
就可推算出一颗整树 .
你就可用递归的办法写出程序.
很简单.这也是个递归过程.
知道后序,就能找到“根”,是最后一个节点.
知道“根”节点,就好办了,从中序中把根结点找到,它左边是左子树的中序,
右边是右子树的中序,知道这两子树的中序,就能从后序中,把左子序、右子树
找出来(据中序的左、右子树的结点数).
这样,根节点找出来了,左子数的后序、中序就分离出来了,右子数也分离出来了,
这个问题,就化成两个新树的问题.同样的办法如此,就是递归成两个子树的新问题.
如果用程序,一样用递归就做出来了.
如:后序中最后一个a就是根,从中序就能分出左右子树:
c b及 e d h g j i f 这是中序;
就可从后序分出左右子树:
cb 及 e h j i g f d
这个问题就变成了两个树的同样问题了.
左子树的中序c b,后序 c b
右子树的中序e d h g j i f 后序 e h j i g f d
就可推算出一颗整树 .
你就可用递归的办法写出程序.
看了 已知一棵二叉树的中序序列和后...的网友还看了以下:
若对一棵二叉树进行中序遍历得到的结果是BDAGHECF,进行后序遍历的结果是BDHGEFCA,那么对 2020-05-23 …
已知一棵二叉树的中序序列和后序序列分别为c,b,a,e,d,h,g,j,i,f和c,b,e,h,j 2020-06-12 …
"先序遍历一棵二叉排序树得到的结点序列不一定是有序的序列"这句话对吗? 2020-07-15 …
)若一棵二叉树先序遍历与中序遍历的次序分别为:先序序列:ABDEHCFGI;中序序列:DBEHAF 2020-07-15 …
已知先序中序求后序的算法:已知一棵二叉树,其先序序列为:ABDEGMNCFH,中序序列为:DBMGN 2020-12-05 …
急:在具有n个结点的二叉树中,如果各结点值互不相同,但前序遍历序列与中序遍序列相同在具有n个结点的二 2020-12-05 …
1.已知一棵二叉树的中序序列和后序序列分别为CBEDFAHJKIG和CEFDBKJIHGA,给出这棵 2020-12-05 …
、建立一颗二叉树,并分别按先序、中序和后序遍历这棵二叉树,要求以二叉链表作为存储结构.求支援 2020-12-05 …
1、已知某二叉树的先序和中序遍历序列分别是:先序:XYDEHCF中序:DYHEXFC画出这棵二叉树。 2020-12-05 …
用修改符号修改病句,再把病句所属的病因的序号写在句子后面的括号里.A.语序混乱B.用词不当C.意思重 2020-12-20 …