一、红黑树的特性:
1、每个节点或者是黑色,或者是红色。
2、根节点是黑色。
3、每个叶子节点(NIL)是黑色。 [注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点!]
4、如果一个节点是红色的,则它的子节点必须是黑色的。
5、从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。
6、插入的节点一定是红色。
二、修正过程:
1、当前节点为红色,且父节点以及叔父节点为红,那么将父节点以及叔父节点涂黑,将祖父节点涂红;
2、当前节点为红色,并且是右子叶,父节点为红且叔父节点为黑,那么以当前节点为基准进行左旋;
3、当前节点为红色,并且是左子叶,父节点为红且叔父节点为黑,那么以父节点为基准进行右旋。
红黑树的查找的时间复杂度是:O(logn)