红黑树

Posted by Luox Blog on October 12, 2018

基本概念

红黑树是一种平衡二叉树。红黑树和平衡二叉树类似,都是在数据插入和删除时,进行一些操作来保持二叉树的平衡和红黑树的平衡,从而获得较高的查找性能。

R-B Tree的性质

1.R-B Tree每个结点只能为红色或者是黑色; 2.R-B Tree根结点为黑色; 3.R-B Tree一个结点是红色,则它的两个孩子都是黑色; 4.R-B Tree一个结点到它的子孙结点的所有路径上黑色结点数目相同; 5.每个叶子结点都带有两个空的黑色结点(黑哨兵),如果一个结点node只有左孩子,则node结点右孩子是一个黑哨兵;如果一个结点node只有右孩子,则node结点左孩子是一个黑哨兵。

AVL平衡搜索二叉树的平衡调整——LL,LR,RL,RR

要保证红黑树的基本性质,要用到AVL的旋转操作,即LL,LR,RL,RR;下面分别解释这些旋转操作。