红黑树的性质:
在了解红黑树之前,建议先去了解一下什么是二叉搜索树。
因为红黑树属于二叉搜索树特殊的分支,所以建议先去了解一下二叉搜索树。
二叉搜索树:https://blog.csdn.net/Falling_stars_/article/details/115536511
红黑树实例图
性质1:每个节点要么是黑色,要么是红色。
性质2:根节点只能是黑色。
性质3:每个叶子节点(NIL)是黑色。
性质4:每个红色节点的两个子节点一定都是黑色。不能有两个红色节点相连。
性质5:任意一节点到每个叶子节点的路径都包含数量相同的黑结点。俗称:黑高!
从性质5又可以得出:
性质5.1:如果一个节点存在黑子节点,那么该节点肯定有两个子节点
红黑树并不是一个完美平衡二叉搜索树,从图上可以看到,根节点P的左子树显然比右子树高,
但左子树和右子树的黑节点的层数是相等的,
即任意一个节点到每个叶子节点的路径都包含数量相同的黑节点(性质5)。
所以称红黑树这种平衡为黑色完美平衡。
之所以红黑树能自然平衡,就是靠它的三种操作: