数据结构 - 红黑树 学习

红黑树特征:不符合这个规则,需要变色或者旋转才能保证是一棵红黑树

(1)、每个节点或者是黑色,要么是红色

(2)、根节点是黑色 

(3)、 每个叶子节点(NIL)是 黑色 (为啥 注意:这里的叶子节点指的是空的叶子节点 )

(4)、如果一个节点是红色的,则它的子节点必须是黑色的

(5)、从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点

注意: 

(01)、特性(3)中的叶子节点,是只为空(NIL或null )的节点

(02)、特性(5),确保没有一条路径会比其他路径长出两倍。因而,红黑树是相对接近平衡的二叉树

定理:

节点与树的高度:

一棵含有n个节点的红黑树的高度至多为2log(n+1).   ---->    高度为h的红黑树,它的包含的内节点个数至少为 2h/2-1个

旋转图参考:(右旋)

扩展:


 

猜你喜欢

转载自blog.csdn.net/weixin_42178492/article/details/81633287