思路:
1.将中序遍历序列和其对应的下标存储到一个map中,方便下面的查找
2.递归选取后序序列的倒数第一个元素作为树的根节点,然后查找根节点在后序序列中位置inorderIndex,endInorder-inorderIndex可以得到右子树的长度
3.根据右子树的长度和endPreOrder可以求出后序序列中右子树的起始位置
4.从上面可以求出左右子树的后序序列和中序序列的起始位置,递归调用建树过程即可。...
分类:
其他好文 时间:
2015-04-03 15:16:31
阅读次数:
89
题目:将序列:7,2,4,6,3,1,5转化为二叉排序树?根据二叉排序树的性质:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;(3)左、右子树也分别为二叉排序树;(4)没有键值相等的节点。可以得出下图:
分类:
编程语言 时间:
2015-04-02 22:33:19
阅读次数:
242
二叉树的深度 代码(C)本文地址:http://blog.csdn.net/caroline_wendy题目: 输入一棵二叉树的根节点, 求该树的深度.依次选择最深的左右子树, 然后递归加1.代码:/* * main.cpp * * Created on: 2014.6.12 * Aut...
分类:
编程语言 时间:
2015-04-02 14:53:32
阅读次数:
191
原题链接:http://oj.leetcode.com/problems/unique-binary-search-trees/这道题要求可行的二叉查找树的数量,事实上二叉查找树能够随意取根,仅仅要满足中序遍历有序的要求就能够。从处理子问题的角度来看,选取一个结点为根,就把结点切成左右子树,以这个结...
分类:
其他好文 时间:
2015-03-31 21:39:33
阅读次数:
84
1.题目描述:点击打开链接
2.解题思路:本题给出了一颗二叉树的中序遍历和后序遍历,要求找一个叶子,使得它到达根结点的权和最小,如果有多解,那么该叶子自身的权应该尽量小。首先,根据中序遍历和后序遍历建立二叉树,这道题采用数组来存放左右子树的结点值,根为root的左子树结点为lch[root]右子树结点为rch[root]。
那么,如何根据中序遍历,后序遍历来建树呢?方法是根据后序遍历找到根,然...
分类:
其他好文 时间:
2015-03-30 09:24:43
阅读次数:
145
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
我想如果只是表示成二叉树,没有什么难度,但是如果是表示为平衡二叉树那么可能就有难度了
要求左右子树的高度是均衡的
先给出自己的解法,很low,就是现将节点都保存在vector...
分类:
其他好文 时间:
2015-03-21 17:10:11
阅读次数:
158
二叉树的定义:二叉树是有N(N>0)个有限结点构成的集合。N=0的树成为i额空二叉树;N>0的树有一个根节点和两个互不相交的分别称作左子树和右子树的子二叉树构成,也就是说每个结点要么只有左右子树,要么只有右树,或是左树,要门没有子树。 二叉树是有序树,二叉树即使只有一个子树的时候也要区分是左子树还是...
分类:
其他好文 时间:
2015-03-19 14:39:05
阅读次数:
133
一、题目 请完成一个函数,输入一个二叉树,该函数输出它的镜像。二、算法及实现1.算法 一个二叉树的镜像,他的左子树是原二叉树的右子树,而他的右子树是原二叉树的左子树,而他的子树也是如此。那么,为了得到二叉树的镜像,我们可以把二叉树的左右子树交换,对于其子树,也是如此。该算法用递归实现最符合要求。.....
分类:
其他好文 时间:
2015-03-19 11:27:58
阅读次数:
99
1.AVL树
AVL tree是指任何节点的左右子树高度相差最多1的二叉搜索树。任何节点左右子树高度最多相差1能够保证AVL树具有“对数深度”的平衡状态。在对AVL tree进行插入操作时,可能造成树平衡被破坏。根据新结点插入位置的不同,可以将平衡的破坏分成四种情况:左左,左右,右左,右右。其中左左和右右被称为外侧插入,可以采用单旋转操作调制解决。而左右和右左则称为内侧插入,可以采用双...
分类:
其他好文 时间:
2015-03-13 10:58:13
阅读次数:
231
Givenn, how many structurally uniqueBST's(binary search trees) that store values 1...n?简单动态规划。判别每个左右子树各有多少种情况,然后相乘就可以了,而且是BST,注意这条件就可以解了。它的状态转移方程为: .....
分类:
其他好文 时间:
2015-03-13 00:07:39
阅读次数:
151