1. 二叉平衡树二叉排序树的时间复杂度和树的深度n有关。当先后插入的结点按关键字有序时,二叉排序树退化为单枝树,平均查找长度为(n+1)/2,查找效率比较低。提高查找效率,关键在于最大限度地降低树的深度n。因此需要在构成二叉排序树的过程中进行“平衡化”处理,使之成为二叉平衡树。二叉平衡树,又称AVL...
分类:
其他好文 时间:
2014-08-16 23:44:01
阅读次数:
291
1. 二叉排序树二叉排序树(Binary Sort Tree)或者是一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)左、右子树也分别为二叉排序树;(4)没有结点值相同的结点。二...
分类:
其他好文 时间:
2014-08-14 13:44:30
阅读次数:
332
1、序
详细实现了二叉查找树的各种操作:插入结点、构造二叉树、删除结点、查找、 查找最大值、查找最小值、查找指定结点的前驱和后继
2、二叉查找树简介
它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树
3、...
分类:
其他好文 时间:
2014-08-13 18:46:47
阅读次数:
164
二叉查找树BST----java实现
1.二叉查找树简介
二叉查找树又名二叉搜索树和二叉排序树。性质如下:
在二叉查找树中:
(01) 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
(02) 任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;
(03) 任意节点的左、右子树也分别为二叉查找树。
(04) 没有键值相等的节点(no dupl...
分类:
编程语言 时间:
2014-08-07 03:07:38
阅读次数:
418
题目描述:
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
输入:
输入可能包含多个测试样例。
对于每个测试案例,输入的第一行为一个数n(0
接下来的n行,每行为一个二叉搜索树的先序遍历序列,其中左右子树若为空则用0代替。
输出:
对应每个测试案例,
输出将二叉搜索树转换...
分类:
其他好文 时间:
2014-08-06 14:50:01
阅读次数:
203
平衡二叉树定义(AVL):它或者是一颗空树,或者具有以下性质的二叉树:它的左子树和右子树的深度之差的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。
平衡因子(bf):结点的左子树的深度减去右子树的深度,那么显然-1
很显然,平衡二叉树是在二叉排序树(BST)上引入的,就是为了解决二叉排序树的不平衡性导致时间复杂度大大下降,那么AVL就保持住了(BST)的最好时间复杂度O(lo...
分类:
其他好文 时间:
2014-08-01 19:49:22
阅读次数:
296
二叉排序树
二叉排序树是一个基础的树的数据结构。应用非常多。它的特性就是,左孩子小于parent,右孩子大于parent.
寻找节点
寻找节点就是直接根据数值的大小,从root节点开始遍历,大于当前遍历节点就向它的右子树查找,相反则查找它的左子树。然后返回。
查找最大最小节点
直接根据root节点,遍历到最右就是最大节点,遍历到最左,就是最小节点。
插入节点
...
分类:
其他好文 时间:
2014-08-01 00:01:20
阅读次数:
247
B树、B-树、B+树、B*树、红黑树rbtree 二叉排序树、trie树Double Array 字典查找树
B树
即二叉搜索树:
1.所有非叶子结点至多拥有两个儿子(Left和Right);
2.所有结点存储一个关键字;
3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;
...
分类:
其他好文 时间:
2014-07-26 02:24:36
阅读次数:
232
前驱和后继本文所述为二叉排序树的前驱和后继,如果想了解二叉排序树的概念,可以参考我的博文***给定一个二叉查找树中的结点,有时候要求找出在中序遍历顺序下它的后继。如果所有的关键字均不同,则某一结X点的后继就是所有(结点值)大于X的结点中最小的那个。包含两种情况:情况一:结点X的右子树非空,则X的后继...
分类:
其他好文 时间:
2014-07-24 12:22:15
阅读次数:
223
二叉排序数或者是一棵空树,或者是一棵具有以下性质的二叉树:(1)若它有左子树,则左子树上所有结点的数据均小于根结点的数据。(2)若它有右子树,则右子树上所有结点的数据均大于根结点的数据。(3)左、右子树本身又各是一棵二叉排序树。这样,在查找的时候,从根节点开始,若查找的元素小于根节点则查找其左子树,...
分类:
其他好文 时间:
2014-07-22 23:29:37
阅读次数:
367