红黑树
红黑树是一种自平衡的二叉查找树。除了符合二叉查找树的基本特征外,还具有如下特征:
1.每个节点是红色或黑色。
2.根节点是黑色。
3.每个叶子节点都是黑色的空节点(NIL节点)。[注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点!]
4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)
5.从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。
注意:
(01) 特性(3)中的叶子节点,是只为空(NIL或null)的节点。
(02) 特性(5),确保没有一条路径会比其他路径长出俩倍。因而,红黑树是相对是接近平衡的二叉树。
下图中这棵树,就是一颗典型的红黑树: