红黑树(Red-Black Tree)是一种自平衡二叉搜索树,通过对节点的颜色、结构及调整规则的约束,实现了树的动态平衡。它的主要目的是在插入、删除等操作后,保持树的高度尽可能小,从而保证在最坏情况下的时间复杂度为 ( O(\log N) )。
红黑树的五大性质
- 节点颜色:每个节点要么是红色,要么是黑色。
- 根节点黑色:根节点必须是黑色。
- 红色节点限制:红色节点的子节点必须是黑色(红色节点不能连续相邻,红黑交替)。
- 黑高相等:从任意节点到其每个叶子节点的路径中,包含相同数量的黑色节点。
- 叶子节点为黑色:所有的叶子节点(空节点)都被视为黑色。