红黑树理解 (三)变色

Posted zhangjin1120

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了红黑树理解 (三)变色相关的知识,希望对你有一定的参考价值。

红黑树理解 (一) 从2-3树到红黑树
红黑树理解(二)插入过程图解
红黑树理解(三)变色

什么情况下,节点需要变色?

插入新的节点后,新的红黑树不再满足原先的5个规则,需要对原来的树进行调整。调整的措施有变色和旋转。多数情况下,既要变色,又要旋转。少数情况是只需要变色就能平衡的。

变色过程举例

这里举一个,只需要变色,就能使红黑树平衡的例子。并不意味着,只通过变色,就能够使红黑树平衡。
当前节点的父节点和叔节点都是红色, 如下图:

新节点默认是红色(如果默认为黑色,直接就违反规则5了),插入后,4和5都是红色,不满足规则四。如下图:

进行变色操作,5和7变黑色,6变红色。如下图,当然根节点6还是不符合规则2。

将根节点也改为黑色。如下图,红黑树再次平衡。

红黑树,超强动静图详解,简单易懂

红黑树的原理 (插入+ 删除) 案例分析

以上是关于红黑树理解 (三)变色的主要内容,如果未能解决你的问题,请参考以下文章

红黑树理解右旋

红黑树理解(一) 从2-3树到红黑树

红黑树理解(二) 插入过程图解

说说红黑树——不谈操作,只讲理解

数据结构 - 学习笔记 - 红黑树前传——234树

数据结构 - 学习笔记 - 红黑树前传——234树