红黑树的性质:
关于红黑树的性质 | |
---|---|
性质1 | 每个节点要么是黑色,要么是红色 |
性质2 | 根节点是黑色。 |
性质3 | 每个红色节点的两个子节点一定都是黑色。 不能有两个红色节点相连。 |
性质4 | 每个叶子节点(NIL)是黑色。 |
性质5 | 任意一节点到每个叶子节点的路径都包含数量相同的黑结点。俗称:黑高! |
性质5推论 | 如果一个节点存在黑子节点,那么该结点肯定有两个子节点 |
红黑树并不是一个完美平衡二叉查找树,从图上可以看到,根结点P的左子树显然比右子树高,但左子树和右子树的黑结点的层数是相等的,也即任意一个结点到到每个叶子结点的路径都包含数量相同的黑结点(性质5)。
所以我们叫红黑树这种平衡为黑色完美平衡。
红黑树的性质就这些,只要这棵树满足以上性质,这棵树就是趋近与平衡状态的。
红黑树的操作
前面讲到红黑树能自平衡,它靠的是什么?三种操作:左旋、右旋和变色。
1.变色:结点的颜色由红变黑或由黑变红。
2.左旋:以某个结点作为支点(旋转结点),其右子结点变为旋转结点的父结点,右子结点的左子结点变为旋转结点的右子结点,左子结点保持不变。
3.右旋&#