1. 概念
红黑树的插入删除操作需要时刻维护它的五大性质:
①每个节点都有颜色,不是黑色就是红色
②null表示空节点(叶子节点的left、right地址域)
③根节点是黑色
④不能出现连续的红色节点
⑤从根节点到任意叶子节点路径上的黑色节点数量是相同的
根据红黑树性质,节点子树高的不能超过节点低的
2倍
2. AVL与红黑树的比较
AVL | 红黑树 | |
是否是平衡树 | 自平衡树 | 不是自平衡树 |
insert插入 | 最多旋转2次 | 最多2次且涉及节点着色 |
remove删除 | 最多旋转log2n次 | 最多3次且涉及节点着色 |
query查询 | 时间复杂度为O(log2n) | 时间复杂度为O(log2n) |
为了维护红黑树的5大性质,所做的操作包括:1. 左旋转 2. 右旋转 3. 节点着色
3. 基本操作
- 插入
- 删除