性质:红黑树是一棵二叉搜索树,他在每个结点上增加了一个存储位为来标识结点的颜色,可以是RED或者BLACK。通过对任何一条从根到叶子的简单路径上各个结点的颜色进行约束,保证没有一条路径比其他路径长出2...
分类:
其他好文 时间:
2016-08-25 21:28:50
阅读次数:
184
AVL树的概念 在说AVL树的概念之前,我们需要清楚二茬搜索树的概念。对于二叉搜索树,我们知道它可以降低查找速率,但是如果一个二叉搜索树退化成一棵只剩单支的搜索树,此时的查找速率就相当于顺序表中查找元素,效率变低,时间复杂度由原来的O(logN)变为O(N)。 此时就有了AVL(高度平衡二叉搜索树) ...
分类:
其他好文 时间:
2016-08-19 20:43:58
阅读次数:
217
近日研习《计算机算法》,一点点弄明白了二叉搜索树。 /* @header BSTree @abstract BSTree @discussion Insert,delete,search and order @author WalterBright,2016 */ #include <iostrea ...
分类:
编程语言 时间:
2016-08-19 01:05:13
阅读次数:
209
一个初始为空的二叉搜索树T,以及1到N的一个排列P: {a1, a2, ..., aN}。我们向这个二叉搜索树T添加这些数,从a1开始, 接下来是 a2, ..., 以aN结束。在每一个添加操作后,输出T上每对节点之间的距离之和。 例如:4 7 3 1 8 2 6 5。最终的二叉树为: 4 / \ ...
分类:
其他好文 时间:
2016-08-18 19:34:49
阅读次数:
179
一、二叉搜索树(BSTree)的概念 二叉搜索树又被称为二叉排序树,那么它本身也是一棵二叉树,那么满足以下性质的二叉树就是二叉搜索树: 1、若左子树不为空,则左子树上左右节点的值都小于根节点的值 2、若它的右子树不为空,则它的右子树上所有的节点的值都大于根节点的值 3、它的左右子树也要分别是二叉搜索 ...
分类:
其他好文 时间:
2016-08-18 10:01:18
阅读次数:
266
题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 思路: 在二叉树中,每个结点都有两个指向子结点的指针。在双向链表中,每个结点也有两个指针,它们分别指向前一个结点和后一个结点。由于这两种结点的结构相似,同时二叉搜索树也是一种 ...
分类:
其他好文 时间:
2016-08-17 11:58:19
阅读次数:
191
类别:二叉搜索树、二叉查找树或者二叉排序树 空间效率:O(n)时间效率:O(log n)内完成插入、查找、删除操作 创造者:Daniel Sleator和Robert Tarjan 优点:每次查询会调整树的结构,使被查询频率高的条目更靠近树根。 性质:每个节点都不比它左子树的任意元素小,而且不比它的 ...
分类:
其他好文 时间:
2016-08-15 07:52:41
阅读次数:
317
输入一个二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。不能创建任何新的结点,只能调整树中结点指针的指向。 ...
分类:
其他好文 时间:
2016-08-14 23:42:11
阅读次数:
208
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 每个测试案例包括2行: 第一行为1个整数n(1<=n<=10000),表示数组的长度。 第二行包含n个整数,表示这个数组,数组中的数的范围是[0,1000000 ...
分类:
其他好文 时间:
2016-08-13 12:35:48
阅读次数:
152
原题链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1297 先是暴力加优化T了最后两个点…… 我还是来想想正解吧。 先写棵线段树把二叉搜索树建出来,然后在树上做下点分治就好了。 #include<cstdio> # ...
分类:
其他好文 时间:
2016-08-12 13:30:56
阅读次数:
159