1、红黑树规则 a.节点颜色:黑色、红色 b.根节点是黑色,叶子NIL节点是黑色 c.如果一个节点是红色的,则它的子节点必须是黑色的。 d.从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。这样可以确保没有一条路径会比其他路径长出俩倍。因而,红黑树是相对是接近平衡的二叉树。 2、调整红黑 ...
分类:
其他好文 时间:
2021-06-20 18:20:41
阅读次数:
0
红黑树规则: 1、根节点与叶节点都是黑色节点 2、每个红色节点的两个子节点都是黑色节点,反之,不做要求,换句话说就是不能有连续两个红色节点 3、从根节点到所有叶子节点上的黑色节点数量是相同的 一般对红黑树的讲述都是先给出这样的定义,这样想对不太容易理解的,而在算法4一书中,直接跳过这些规则,而讲述了 ...
分类:
编程语言 时间:
2019-06-29 14:56:19
阅读次数:
103
当插入元素9时,这时是需要调整的第一种情况,结果 如下: 插入9 红黑树规则4中强调不能有两个相邻的红色结点,所以此时我们需要对其进行调整。调整的原则有多个相关因素,这里的情况是,父结点10是其祖父结点1(父结点的父结点)的右孩子,当前结点9是其父结点10的左孩子,且没有叔叔结点(父结点的兄弟结点) ...
分类:
编程语言 时间:
2019-04-30 12:17:04
阅读次数:
131
1.插入介绍
首先以二叉排序树的方法增加节点并标记它为红色。(为何不是红色?因为如果设为黑色,就会导致根到叶子的所有路径中,有一条路径上会多出一个额外的黑节点,这个是很难调整的)。但是,设为红色节点后,可能会导致出现两个连续红色节点的冲突,则可以通过重新着色和旋转来调整。具体的调整操作取决于其他临近节点的颜色。
下面分析一下插入新节点后可能对红黑树性质产生的影响:
性质1-节点是红色或黑...
分类:
其他好文 时间:
2015-07-09 06:19:47
阅读次数:
125