数据结构的基础知识中重要的一点就是能否根据两种不同遍历序列的组合(有三种:先序+中序,先序+后序,中序+后序),唯一的确定一棵二叉树。然后就是根据二叉树的不同遍历序列(先序、中序、后序),重构二叉树。显然,这三种组合并不是都能唯一确定二叉树的,其中先序+后序就不能唯一确定一棵二叉树,其他两种组合可以...
分类:
其他好文 时间:
2015-07-26 00:19:17
阅读次数:
494
如果直接利用二叉树的层序是没有办法构建一个二叉树的,但是如果是完全二叉树应该是可以的
这里层序序列中用-1表示当前节点没有值
构建主要采用了非递归的方法,利用了queue,因为层序的遍历可以通过queue来实现那么自然也可以通过这个方法进行构建
#include
#include
#include
using namespace std;
typedef struct T...
分类:
其他好文 时间:
2015-02-04 16:38:19
阅读次数:
166
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。...
分类:
其他好文 时间:
2014-07-02 08:58:17
阅读次数:
198
时间限制:1 秒 内存限制:32 兆
题目描述:
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出它的后序遍历序列。
输入:
输入可能包含多个测试样例,对于每个测试案例,
输入的第一行为一个整数n(1<=n<=1000):代表二叉树的节点...
分类:
其他好文 时间:
2014-05-07 06:00:58
阅读次数:
443