红黑树(TreeMap 的实现)是一种自平衡的二叉查找树。 一种树结构。但是统计性能要好于AVL树。
(从jdk1.8之后引入了红黑树的设计,链表超过8个时,转红黑树)。
特性:
1、每个结点是黑色或者红色。
2、根结点是黑色。
3、每个叶子结点(NIL)是黑色。 [注意:这里叶子结点,是指为空(NIL或NULL)的叶子结点!]
4、如果一个结点是红色的,则它的子结点必须是黑色的。
5、每个结点到叶子结点NIL所经过的黑色结点的个数一样的。[确保没有一条路径会比其他路径长出俩倍,所以红黑树是相对接近平衡的二叉树的!]
![](https://img.haomeiwen.com/i20133972/dd219490bdeb3549.png)
两个操作:添加和删除,为了保持树平衡性。先调整结构在调整颜色。
左旋、右旋
网友评论