红黑树是一棵满足五条性质的二叉排序树:
黑高 bh(x):从某节点(不含它自身)到叶节点路径上的黑色节点数。
| 比较项 | 红黑树 | AVL 树 |
|---|---|---|
| 平衡标准 | 黑高相同(宽松) | 左右子树高差 ≤ 1(严格) |
| 高度 | $\leq 2\log_2(n+1)$ | $\leq 1.44\log_2(n+2)$ |
| 插入旋转 | 最多 2 次 | 最多 2 次 |
| 删除旋转 | 最多 3 次 | O(log n) 次 |
| 查找效率 | 略低 | 略高 |
| 适用场景 | 插入删除频繁 | 查找频繁 |
| 考法 | 解题套路 |
|---|---|
| 判断是否红黑树 | 逐条验证 5 条性质 |
| 插入后的调整 | 新节点红色,依据叔父节点颜色分情况旋转 / 变色 |
| 删除后的调整 | 依据兄弟节点及其子节点颜色分情况处理 |
| 求树高上界 | $h \leq 2\log_2(n+1)$ |
| 与 AVL 对比 | 红黑树插入删除效率高,AVL 查找效率高 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。