红黑树的应用场景: https://blog.csdn.net/zuochao_2013/article/details/80562092 红黑树的五个性质: 一般的,红黑树(一棵自平衡的排序二叉树),满足以下性质,即只有满足以下性质的树,我们才称之为红黑树: 1)每个结点要么是红的,要么是黑的。 ...
分类:
其他好文 时间:
2018-08-17 20:06:31
阅读次数:
113
平衡二叉树(Balanced Binary Tree?或?Height Balanced Tree)又称AVL树 (a)和(b)都是排序二叉树,但是查找(b)的93节点就需要查找6次,查找(a)的93节点就需要查找3次,所以(b)的效率不高。 平衡二叉树(Balanced Binary Tree 或 ...
分类:
其他好文 时间:
2018-08-14 22:01:28
阅读次数:
163
最近看到有一种不用旋转的treap,好像还可以持久化,于是就学了一下。 如果你还不会Treap的话,那你可以点击这里,对旋转Treap有个大致了解,这里就不赘述Treap的性质了。 treap就是tree+heap。它的每个节点的权值data满足排序二叉树的性质,随机权值key满足堆的性质。由于ke ...
分类:
其他好文 时间:
2018-07-25 23:52:22
阅读次数:
195
二叉搜索树,也称有序二叉树,排序二叉树,是指一棵空树或者具有下列性质的二叉树: 1. 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 2. 若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 3. 任意节点的左、右子树也分别为二叉查找树。 4. 没有键值相等的 ...
分类:
其他好文 时间:
2018-06-18 23:21:44
阅读次数:
252
原题网址:https://www.lintcode.com/problem/convert-sorted-array-to-binary-search-tree-with-minimal-height/description 描述 给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树。 描 ...
分类:
编程语言 时间:
2018-06-13 21:42:42
阅读次数:
176
二叉树的遍历方式 分别为中序遍历(左子树->当前节点->右子树)、前序遍历(当前节点->左子树->右子树)、后序遍历(左子树->右子树->当前节点)。下面使用JavaScript语言实现二叉树的三种遍历算法。 首先构造一个排序二叉树(即满足左子节点比父节点小,右子节点比父节点大的二叉树),然后对其分 ...
分类:
编程语言 时间:
2018-06-11 00:24:53
阅读次数:
236
1.读过什么源码,说一些你读过的 2.排序的map有哪些 3.hashmap原理,如果它有一列特别长,怎么解决 4.说一些常用排序算法 5.一千万数,找前5个最大的,用什么算法 6.分支法应用在那些算法里面 7.说一些你知道的算法的复杂度,用在什么场景 8.sql索引怎么储存 9.b-tree和b+ ...
分类:
其他好文 时间:
2018-06-02 11:15:37
阅读次数:
194
要点: 1.查找到被删除的节点 2.分析要删除的节点 1.叶子结点 2.有一个孩子 3.有两个孩子(根节点和其他节点) 代码实现: 其中查找函数Search可以传入多一个参数: ...
分类:
编程语言 时间:
2018-05-15 00:27:03
阅读次数:
208
满二叉树: 完全二叉树:只允许最后一层有空缺,且空缺从右向左连续空缺。 排序二叉树:BST 任意一个父节点左子树比它小,右子树比它大。 平衡二叉树:AVL 树中任意节点,左子树右子树高度差不超过1. 二叉树的基本性质: 一个有K层的二叉树,节点总和最多有2k -1个。 一个有K层的二叉树,叶子节点总 ...
分类:
其他好文 时间:
2018-05-09 15:11:13
阅读次数:
158
一、定义。 1.1 BST 二叉搜索树,也称有序二叉树,排序二叉树,是指一棵空树或者具有下列性质的二叉树: ① 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值; ② 若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值; ③ 任意节点的左、右子树也分别为二叉查找树。 ...
分类:
其他好文 时间:
2018-03-31 22:16:58
阅读次数:
473