红黑树

查找算法需要掌握的
哈希:(最高效,O(1),)、B+树、二叉搜索树、红黑树:高效的查找算法数据结构

红黑树的性质

1、每个结点不是红色就是黑色

2、不可能有两个连在一起的红结点

3、根结点都是黑色 root

4、每个红色结点的子结点都是黑色。

5、从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。

叶子结点都是黑色:出度为0,满足了性质就可以近似的平衡了

左旋:                                                                                                                         右旋:

                                      

 

旋转和颜色变换规则:所有插入的点默认为红色

1、变颜色的情况:当前结点的父亲是红色,且他祖父结点的另一个子结点也是红色(叔叔结点)

(1)把父结点设为黑色

(2)把叔叔也设为黑色

(3)把祖父设为红色(爷爷)

(4)把指针定义到祖父结点设为当前要操作的,分析点变换的规则

2、左旋:当前父结点是红色,叔叔结点是黑色,且当前结点是右子树,左旋以父结点作为左旋

3、右旋::当前父结点是红色,叔叔结点是黑色,且当前结点是左子树,右旋

(1)把父结点变为黑色

(2)把祖父结点变为红色

(3)以祖父结点旋转TreeMap

 

 

 


https://blog.csdn.net/qq_36610462/article/details/83277524

posted @ 2020-09-22 11:03  哒哇哩嘻  阅读(66)  评论(0编辑  收藏  举报