根据先序遍历和中序遍历的特点,我们想到了采用递归的方法来实现。思路:1)
代码的容错性检查,比如:先序遍历和中序遍历长度应相等 2)
先保存先序遍历的第一个点,这个点为结点,接下来循环中序遍历,直到midOrd[index]=该结点,那么接下来就可以采用递归,分别对结点左边和右边的序列采用相同的方法...
分类:
其他好文 时间:
2014-06-11 21:48:07
阅读次数:
358
1.系统说明输入一个正整数N,然后随机产生N个整数,创建一个二叉树(左子树≤父节点≤右子树)。使用Windows程序设计,在窗体的客户区自动地画出创建二叉树的过程,并动画演示中序遍历。2.系统要求自动计算每个节点的坐标,节点圆的半径可设置,节点间的距离可设置,左右子树的角度可设置;二叉树的大小可能超...
分类:
其他好文 时间:
2014-06-09 19:54:55
阅读次数:
208
前序和中序构建二叉树后序和中序构建二叉树二叉树遍历大总结:先序、中序、后序 、层次
(递归、非递归、Morris)
分类:
其他好文 时间:
2014-06-07 10:26:39
阅读次数:
229
出题:求二叉树中距离最远的两个节点之间的距离,此处的距离定义为节点之间相隔的边数;分析:最远距离maxDis可能并不经过树的root节点,而树中的每一个节点都可能成为最远距离经过的子树的根节点;所以计算出以每个节点为根节点的子树的最
远距离,最后取他们的最大值就是整棵树的最远距离;如果递归层次过多造...
分类:
其他好文 时间:
2014-05-25 22:23:43
阅读次数:
275
注意:1、仅根据前序和后序无法构建唯一的二叉树;2、二叉树前序遍历,第一个数字总是树的根节点的值;3、中序遍历中,根节点的值在序列的中间,左子树的值子在根节点的值得左边,右字树的值在根节点的值得右边;4、思路:递归...
分类:
其他好文 时间:
2014-05-22 23:56:14
阅读次数:
408
题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出它的后序遍历序列。输入:输入可能包含多个测试样例,对于每...
分类:
其他好文 时间:
2014-05-20 12:34:21
阅读次数:
337
题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并输出它的后序遍历序列。输入:输入可能包含多个测试样例,对于每...
分类:
其他好文 时间:
2014-05-19 19:05:49
阅读次数:
269
python创建二叉树,源代码如下:
#!/usr/bin/python
class node():
def __init__(self,k=None,l=None,r=None):
self.key=k;
self.left=l;
self.right=r;
def create(root):
a=raw_input('enter a key:');
if a is '#...
分类:
编程语言 时间:
2014-05-18 09:27:13
阅读次数:
384
前序和中序构建二叉树后序和中序构建二叉树分析:主要思路就是
在中序中找根节点然后划分左右子树,具体如下:1. 查找根节点。 我们知道前序序列的第一个元素 和 后序序列的最后一个元素 肯定是根节点,我们就以此为突破口2.
确定根节点的坐标。 我们在 中序序列中找到 根节点 的下标。3. 分割左右子树。...
分类:
其他好文 时间:
2014-05-09 23:17:30
阅读次数:
458