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

红黑树中是否存在带有单个黑色子节点的黑色节点?

红黑树能否存在带有单个黑色子节点的黑色节点?

在满足红黑树所有性质的合法状态下,不可能存在这样的节点,原因如下:

红黑树的核心性质之一是:从任意节点到其所有后代叶节点的路径上,黑色节点的数量必须完全相同(即黑高一致)。

假设存在一个黑色节点X,仅拥有一个黑色子节点Y,另一个子节点是黑色NIL叶节点。此时:

  • 从X到NIL叶节点的路径,黑色节点数量为1(仅NIL本身)
  • 从X到Y的后代叶节点的路径,黑色节点数量至少为2(Y是黑色,加上Y到其后代叶节点的黑色节点数)
    这直接违反了黑高一致的性质,因此这种状态不符合红黑树的定义。

至于你提到的讲义中的情况,它展示的是红黑树删除过程中的中间违规状态,而非最终稳定的合法红黑树。红黑树执行删除操作时,会先按二叉搜索树的规则删除节点,这会暂时破坏红黑性质,后续需要通过旋转、变色等调整步骤来恢复所有性质,讲义里的图正是调整前的过渡状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 12:30:55