目录
五、探讨:前序、后序、层序序列的两两是否可以确定唯一一棵二叉树
下一篇: 线索二叉树
一、探讨:
给定一个二叉树,该二叉树的前、中、后、层序遍历肯定是唯一的,但是给定一个前、中、后、层序遍历并不能确定唯一的二叉树
也就是:若只给出一棵二叉树的前、中、后、层序遍历中的一种不能确定一棵二叉树
只有给出其中两种才能确定一棵二叉树(且一定要有中序)
二、前序+中序
示例:
前序遍历序列: | A | D | B | C | E |
中序遍历序列: | B | D | C | A | E |
可以分析出A是根结点,中序中A左边的是左子树,右边是右子树
递归分析:左子树的前序DBC和中序BCD,同理得出D是根结点,B是左子树、C是右子树
复杂一点的例子:
画图描述
三、后续+中序
例子:
分析EAF:A是根,E左F右
分析HCIGB:B是根HC是左子树GI是右子树
分析HC:C是根结点H是左孩子
分析GI:G是根结点,I是右孩子
四、层序+中序
分析层序(第一层)遍历是D:发现根结点是D,则由中序的EAF是左子树,HCBGI是右子树
接着分析层序(第二层)AB:发现左子树的根是A,右子树的根是B,则由中序可得EAF,E是左孩子,F是右孩子
分析EFCG是第三层的:B的左子树是C,右子树的根是G
最后有中序的HC和GI可得H是C的左孩子,I是G的右孩子
五、探讨:前序、后序、层序序列的两两是否可以确定唯一一棵二叉树
举例:
结论:不能
小结: