属性:①若它的左子树不为空,则左子树上所有节点的值均小于它的根节点的值。②若它的右子树不为空,则右子树上所有节点的值均大于它的根节点的值。③它的左、右子树也都是排序二叉树。添加操作:当根节点为空时,添加进的节点作为根节点。然后每次添加节点时,都从根节点过滤,以根节点作为当前节点,如果新节点大于当前节...
分类:
编程语言 时间:
2014-11-14 22:30:50
阅读次数:
302
二叉排序树(Binary Sort Tree)又称二叉查找树(Binary Search Tree),亦称二叉搜索树。 它或者是一棵空树;或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)左、右子树也分别为二叉排序树;
二叉树的操作:
1.查找:
例如查找...
分类:
其他好文 时间:
2014-11-14 15:47:23
阅读次数:
226
Time Limit: 1000MS Memory limit: 65536K
题目描述
二叉排序树的定义是:或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 今天我们要判断两序列是否为同一二叉排序树
输入
...
分类:
编程语言 时间:
2014-11-14 00:21:10
阅读次数:
198
二叉树遍历是树的最基本算法之一,是二叉树上进行其它运算之基础。
所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。
访问结点所做的操作依赖于具体的应用问题。
① 前序遍历(PreorderTraversal亦称(先序遍历))
——访问根结点的操作发生在遍历其左右子树之前。
② 中序遍历(InorderTraversal)
——访问根结点的操作...
分类:
其他好文 时间:
2014-11-12 21:21:50
阅读次数:
247
什么是平衡二叉树?
平衡二叉树是一种特殊的二叉排序树,又称AVL树,它可以是一棵空树,或者是具有下列性质的二叉排序树:左子树与右子树的深度之差的绝对值不超过1,且它的左右子树都是平衡二叉树。
二叉树上结点的平衡因子BF(BalanceFactor)定义为改结点的左子树的深度减去它的右子树的深度,则平衡二叉树上所有结点的平衡因子只可能为-1,0或者1。
为什么要引申出平衡二叉树的概念?...
分类:
其他好文 时间:
2014-11-08 19:43:56
阅读次数:
291
树如其名,就是为了查找而诞生的。这是一棵二元树,也就说一个根节点仅仅有两个子树。左子树 < 根节点 < 右子树。当然,左右子树都同意为空。另一点,这里的小于表示的是全部节点,也就是说根节点会大于你左子树的全部节点,不存在你左子树下当中一个节点大于根节点,不能够。(不然不就没法查找了么)然后递归下去,...
分类:
其他好文 时间:
2014-11-08 11:52:45
阅读次数:
199
认识堆是从堆排序开始的
二叉堆是完全二叉树或者是近似完全二叉树,堆存储在数组中:
根结点下标为0时,下标为n的元素的子结点下标分别为2*n+1,2*n+2,其父结点下标为(n-1)/2
二叉堆的特性:
1、父结点的键值总是>=(
2、每个结点的左右子树都是二叉堆
当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。
当父结点的键值总是小于或...
分类:
编程语言 时间:
2014-11-04 17:35:16
阅读次数:
262
1.AVL 树本质上还是一棵二叉搜索树,它的特点是:本身首先是一棵二叉搜索树。带有平衡条件: 每个结点的左右子树的高度之差的绝对值(平衡因子) 最多为 1。2. 数据结构定义AVL树节点类:1 template 2 class AVLTreeNode {3 public:4 T key;5 ...
分类:
编程语言 时间:
2014-11-03 20:43:18
阅读次数:
415
1. 什么是二叉排序树?
二叉排序树是一种特殊的二叉树,可以是一棵空树,也可以是具有下列性质的二叉树:
1. 若左子树不为空,那么左子树所有结点的值都小于它的根结点的值。
2. 若右子树不为空,那么右子树所有结点的值都大于它的根节点的值。
3. 它的左右子树也分别是二叉排序树。
二叉排序树又称二叉查找树,是一种动态查找表,所谓动态查找表是指除了查询...
分类:
编程语言 时间:
2014-11-01 11:57:07
阅读次数:
281
题目描述:
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
思路:采用类似折半查找的方式找到当前根节点,则当前根节点左边的属于它的左子树部分,当前根节点右边的属于它的右子树部分。再采用同样的方法,递归地对当前根节点的左右子树做相同的处理。
...
分类:
其他好文 时间:
2014-10-30 19:22:04
阅读次数:
197