红黑树实现自平衡的原理图解及与二叉查找树的比较

1.红黑树五大原则:
(1)节点为红色或黑色
(2)根节点为黑色
(3)红色节点的子节点和父节点不能为红色
(4)从根节点到所有叶子节点的路径中黑色节点个数相同
(5)叶子节点为黑色
2.在红黑树增删数据时,先增删,增删后若不满足五大原则,则再对其进行调整(左旋、右旋、颜色改变),调整的处理实际上是节点属性值(节点颜色、节点父子节点的左右子树)的改变。
3.有五大原则做保证,红黑树能实现自平衡,保证从根节点到叶子节点的所有路径中的最长路径不超过最短路径的2倍.(举例:根节点到左子树叶子节点全是黑色,而右子树红黑交叉,但是叶子节点一定要是黑色,详见下图)
在这里插入图片描述
4.红黑树VS二叉查找树,二叉查找/搜索/检索/排序树(Binary Search Tree,BST)有3个特性:
(1)左子树上所有节点的值均小于或等于它的根节点的值;
(2)右子树上所有节点的值均大于或等于它的根节点的值;
(3)左右子树也一定分别是二叉排序树
所以,有可能出现左右子树的长度一个很长一个很短的情况,在长度很长的子树上做查找几乎就是线性查找了,导致查找的性能大幅下降.而红黑树在五大原则的限定下,当有要出现一长一短趋势时,红黑树会根据五大原则自行做调整,从而实现了一定程度的自平衡,也保证了检索的性能.

猜你喜欢

转载自blog.csdn.net/u010425839/article/details/106249481