对于给定的一棵树来说,我们很容易知道这棵树的前序、中序、后序遍历。但是我们怎样才能通过给定的两种遍历来确定一棵树呢?
对于这一棵树来说,假定我们不知道这棵树长啥样,我们知道了前序遍历和中序遍历。
前序遍历就是
|1|2|3|4|5|6|
而中序遍历就是
|3|2|4|1|6|5|
首先我们需要确定根节点是什么
很明显我们就能看得到根节点是1
在中序遍历中我们以1为分界线
发现1的左边是324
我们就可以知道了左子树的中序遍历就是324
再回看前序遍历 可以知道左子树的先序遍历就是234
不断递归的推 我们就能构建左子树
右子树也是同样的办法
这样我们就可以得到一颗树的完整结构了
同样,如果是中序和后序我们还是可以用这样的办法来求得整颗树的框架。
希望大家能够有所进步!!!