网上有关“二叉树的先序序列和中序序列 ”话题很是火热,小编也是针对二叉树的先序序列和中序序列寻找了一些与之相关的一些信息进行分析 ,如果能碰巧解决你现在面临的问题,希望能够帮助到您。
某二叉树的先序序列和中序序列正好相同,则该二叉树一定是()
A.空树或只有一个结点
B.完全二叉树
C.每个结点都没有左子
D.高度等于其结点数
正确答案:每个结点都没有左子
二叉树先序中序问题
题目根据二叉树中序和后序(先序)遍历结果 重建二叉树
输入某二叉树的前序遍历和中序遍历的结果 ,请重建出该二叉树 。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回
思路
根据中序和先序结果 重建二叉树
1.前序结果第一个非空节点为root节点,然后在中序结果中找个根节点 ,则左侧为左子序列,右侧为右子序列
2.根据左子序列长度,去前序结果中找出前序左子序列和右子序列
3.递归上述步骤,直至空子序列结束
根据中序和后序结果重建二叉树与上述类似
根据中序和先序结果重建
根据中序和后序结果重建
已知先序序列:ABCDEFGH,中序序列:CDBAFEHG,画出的二叉树是怎样的?
后序最后一个是A ,所以A是先序的第一个得到:
先序序列
ABC_EF__
中序序列
BDE_AG_H
后序序列
_DC_GH_A
_____________(A)____________
____________/___\___________
________(BDE_)_(G_H)________
先序的第二个元素是B,所以B是A的左子树根节点
由中序B在最前,知道其他元素都在B的右子树上
所以 ,后序序列为(DE_)B(G_H)A,对比已有的后序序列_DC_GH_A
得后序序列为:EDCBGHFA,中序序列为:BDECAGFH
先序序列
ABC_EF__
中序序列
BDECAGFH
后序序列
EDCBGHFA
所以 ,二叉树为:
_____________(A)_____________
____________/___\____________
__________(B)____(F)_________
___________\_____/_\_________
___________(C)_(G)_(H)_______
___________/_________________
_________(D)_________________
__________\__________________
__________(E)________________
如果还没解决你的问题,可以加我百度HI账号。
由先序可知,A是根,于是在中序中可知CDB在作,FEHG在右:
A
/ \
(CDB) (FEHG)
同理,先序划分成A|BCD|EFGH.在左子树BCD中,因先序可得B是根,右子树EFGH中E是根:
A
/ \
B E
| |
(CD) (FGH)
在B和B的子孙中,由中序序列CDB,可知CD都在B的左子树上.先C后D,可得C是B的左子节点,D是C的右子节点.同理由FGH在中序序列为FEHG可以推出,F在E的左子树上,HG在右子树上:
A
/ \
B E
/ / \
C F (GH)
\
D
同CD的判断过程,不难得出G是E右子节点,H是G左子节点:
A
/ \
B E
/ / \
C F G
\ /
D H
关于“二叉树的先序序列和中序序列”这个话题的介绍,今天小编就给大家分享完了 ,如果对你有所帮助请保持对本站的关注!
评论列表(3条)
我是翰腾号的签约作者“寒砧”
本文概览:网上有关“二叉树的先序序列和中序序列”话题很是火热,小编也是针对二叉树的先序序列和中序序列寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您...
文章不错《二叉树的先序序列和中序序列》内容很有帮助