R-B Tree简介 R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。 红黑树的特性:(1)每个节点或者是黑色,或者是红色。(2)根节点是黑色。(3)每个叶子节点(NIL ...
分类:
其他好文 时间:
2018-02-23 16:00:49
阅读次数:
179
摘要: 本章介绍了二叉查找树的概念及操作。主要内容包括二叉查找树的性质,如何在二叉查找树中查找最大值、最小值和给定的值,如何找出某一个元素的前驱和后继,如何在二叉查找树中进行插入和删除操作。在二叉查找树上执行这些基本操作的时间与树的高度成正比,一棵随机构造的二叉查找树的期望高度为O(lgn),从而基 ...
分类:
其他好文 时间:
2018-02-23 15:56:05
阅读次数:
161
BST: 增:(插入) ? 若当前的二叉查找树为空,则插入的元素为根节点, ? 若插入的元素值小于根节点值,则将元素插入到左子树中, ? 若插入的元素值不小于根节点值,则将元素插入到右子树中, ? 递归上述过程,直到找到插入点为叶子节点 查: 给定一颗二叉查找树,查找某节点p的过程如下: ? 将当前 ...
分类:
其他好文 时间:
2018-02-22 17:32:06
阅读次数:
141
红黑树是一种自平衡的二叉查找树,除了符合二叉查找树的基本性质外,它还具有下列附加特性: 1.节点是红色或黑色。 2.根节点是黑色。 3.每个叶子节点都是黑色的空节点(NIL节点)。 4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点) 5.从任一节点到其每个叶 ...
分类:
其他好文 时间:
2018-02-17 19:41:34
阅读次数:
330
二叉查找树的性质: 1.左子树上所有结点的值均小于或等于它的根结点的值。 2.右子树上所有结点的值均大于或等于它的根结点的值。 3.左、右子树也分别为二叉排序树。 下图中这棵树,就是一颗典型的二叉查找树: ...
分类:
其他好文 时间:
2018-02-17 19:40:43
阅读次数:
150
平衡树是什么? 其实平衡树就是支持旋转的二叉查找树。 什么是二叉查找树呢? 其实就是满足(左子树(全部节点) < 根 < 右子树(全部节点))的一棵树,比如↓ (注意并不是每个节点都要是满的,也就是说它不一定是一棵完全二叉树) 那么二叉查找树有什么用呢? 假如我们要查询第k大的数,我们从根节点开始往 ...
分类:
其他好文 时间:
2018-02-14 23:39:39
阅读次数:
354
Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST. According to the definition of LCA on Wikipedia ...
分类:
其他好文 时间:
2018-02-11 18:09:15
阅读次数:
143
题目:http://poj.org/problem?id=3468 增加一个更改量数组,施以差值用法则区间修改变为单位置修改; 利用公式可通过树状数组维护两个数组:f与g而直接求出区间和。 代码如下: ...
分类:
编程语言 时间:
2018-02-11 00:12:03
阅读次数:
258
一、平衡二叉树的定义 平衡二叉树(AVL 树)仍然是一棵二叉查找树,只是在其基础上增加了“平衡”的要求。所谓平衡是指,对 AVL 树的任意结点来说,其左子树与右子树的高度之差的绝对值不超过 1,其中左子树与右子树的高度之差称为该结点的平衡因子。 由于需要对每个结点都得到平衡因子,因此需要在树的结构中 ...
分类:
其他好文 时间:
2018-02-06 16:35:39
阅读次数:
191
在处理数据的时候,二叉查找树是排好序的树,可以很快的实现数据的查找。其定义为:二叉查找树或者是空树,或者是满足如下性质的二叉树: 1. 若它的左子树非空,则左子树上所有结点的值均小于根结点的值; 2. 若它的右子树非空,则右子树上所有结点的值均大于根结点的值; 3. 左、右子 ...
分类:
其他好文 时间:
2018-02-06 01:08:21
阅读次数:
118