You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

判断给定Red Black Tree是否平衡并讲解红黑树平衡理论

红黑树平衡判断与核心规则讲解

给定树的平衡判断

先明确给定的树结构(将None替换为红黑树标准的NIL空节点):

10(黑节点)
                                       /          \
                              8(黑节点)       NIL(黑节点)
                              /           \
                      NIL(黑节点)   NIL(黑节点)

这棵树不平衡,核心原因是违反了红黑树的平衡约束:从任意节点到其所有后代叶子节点的路径上,黑节点的数量必须完全相等(即黑高一致)。具体对比:

  • 根节点10到右侧NIL叶子的路径:黑节点为10、NIL,共2个
  • 根节点10到左侧任意一个NIL叶子的路径:黑节点为10、8、NIL,共3个

两条路径的黑节点数量不同,直接破坏了红黑树的合法性。

其余红黑树规则的检查结果:

  • 所有节点(包括NIL)均为黑色,满足“节点非红即黑”“叶子节点为黑”的要求
  • 根节点是黑色,符合规则
  • 无红节点,自然满足“红节点的子节点必须为黑”的规则
    但仅第五条平衡规则的违反,就足以判定这不是一棵合法的红黑树。

红黑树平衡相关核心理论

红黑树是一种自平衡二叉搜索树,通过以下五条规则强制维持近似平衡,确保树的高度始终处于O(log n)级别,保证高效的增删查性能:

  • 规则1:每个节点要么是红色,要么是黑色
  • 规则2:根节点必须是黑色
  • 规则3:所有叶子节点(指NIL空节点,而非存储数据的节点)必须是黑色
  • 规则4:如果一个节点是红色,那么它的两个子节点必须是黑色(不允许出现连续的红节点)
  • 规则5:从任意一个节点到其所有后代叶子节点的路径上,黑色节点的数量完全相同(这条是平衡的核心约束)

规则如何实现平衡?
规则5保证了所有路径的黑高一致,结合规则4限制红节点连续,使得最长路径的长度最多是最短路径的2倍——最短路径全由黑节点组成,最长路径则是黑红交替出现。这种约束彻底避免了二叉搜索树退化为链表的情况,让红黑树始终保持高效的操作效率。

内容的提问来源于stack exchange,提问作者RezDom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 19:24:55