前言
我们知道遍历一颗二叉树一般有三种方式:先序、中序、后序。而且每一颗二叉树的三种遍历
方式的结果各自都是唯一的。但是有可能一颗二叉树的先序遍历结果和另一个不同的二叉树的中
序遍历结果是相同的。我们能够有二叉树求得其三种遍历结果,那么我们有可能根据三种遍历结果
去确定一颗二叉树么?
二叉树的确定
1、三种单独的遍历方式无法确定二叉树。
略微思考一下就可以明白,先序遍历只能确定其根节点,对于之后的情况是完全无法确定的,同样
的对于中序,后序遍历就也会存在这种情况.。证明不好说,我们直接用一个反例来说明。
假设先序遍历的结果为ABCD。可以看出的是对于其结果会存在不同的二叉树的先序遍历都为
ABCD。因此只是先序遍历是无法确定一棵二叉树的。
至于后序和中序的情况就不在反证了。
既然单个的遍历情形无法确定二叉树那么我们来通过组合看能否确定一棵二叉树。
2、已知先序和中序可以确定一棵二叉树。
● 如果先序和中序遍历都是空的,这确定一棵空二叉树。
● 对于有n(n>=2)个结点的情况先序遍历中的第一个结点必然是二叉树的根结点,然后在