红黑树 随手笔记

参考文章:漫画:什么是红黑树?(整合版)

红黑树是相对平衡二叉查找树

一、红黑树有5个特性:

1、节点是黑色或者红色
2、根节点是黑色的
3、不能出现连续两个红色节点
4、所有的叶子节点都是空的黑色节点
5、从根节点到所有叶子节点黑色节点的个数相等

二、插入新节点可能出现5种局面

插入的新节点默认是红色的

2.1)插入的节点是根节点

解决:直接将红色节点变成黑色节点
红黑树 随手笔记_第1张图片

2.2)父节点是黑色节点

解决:这种没有破坏规则,无影响

2.3)父节点和叔叔节点都是红色节点

解决:将父节点和叔叔节点变成黑色节点,祖父节点变成红色节点

红黑树 随手笔记_第2张图片

2.4)父节点是红色节点,叔叔节点是黑色节点或者没有节点

解决:以父节点为轴左旋,进入局面5
红黑树 随手笔记_第3张图片

2.5)父节点是红色节点,叔叔节点是黑色节点或者没有节点,并且插入的值是左孩子

红黑树 随手笔记_第4张图片
以祖父节点为轴进行右旋
红黑树 随手笔记_第5张图片
红黑树 随手笔记_第6张图片

你可能感兴趣的:(数据结构)