一、2-3-4树
在了解红黑树之前,先来认识一下2-3-4树。2-3-4树是一种阶为4的树,可以保证在O(lgn)的时间内完成查找、插入和删除操作。
1.性质:
(1)所有叶子节点都拥有相同的深度。
(2)节点只能是2-节点、3-节点、4-节点。
(3)每个节点从左到右保持了从小到大的顺序。
2.示意图
(1)2-节点
(2)3-节点
(3)4-节点
3.插入操作
例如,将1 2 3 4 5 6 7 8 9 10 11构建成一个2-3-4树,过程如下
二、红黑树
1.性质
(1)每个节点非黑即红。
(2)根节点永远是黑色。
(3)每个叶子节点都是null节点,且为黑色。
(4)如果一个节点为红色,则其子节点必为黑色的。
(5)从一个节点到该节点的所有子孙节点上包含相同的黑色节点。
注:我们每次新插入的节点都是红色。将插入的节点写为红色,就不会违背特性5,少违背一条特性,也就意味着我们要处理的情况越少。
2.从2-3-4树到红黑树
下图为2-3-4树
变为红黑树如下图