红黑树相关定理及其证明

红黑树有一条性质要求:如果一个节点为红色的,则它的两个子节点都是黑色。这保证了:从根到叶节点(不包括根节点)的任何一条路径上都至少有一半的节点是黑色的。(红黑树的性质还要求:对每一个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色节点)。

0. 明确一些基本概念

  • 树的深度和高度:
    • 树的深度是从根节点开始(其深度为1)自顶向下逐层累加的,而高度是从叶节点开始(其高度为1)自底向上逐层累加的。

1. 证明:一棵有 n n n 个内部节点的红黑树的高度至多为 2 lg ⁡ ( n + 1 ) 2\lg (n+1) 2lg(n+1)

  • 该定理表明了内部节点与树高之间的关系;
  • 也即,在红黑树中,内部节点的数量实现了对红黑树高度的约束,使之尽可能的平衡。

首先证明,任意节点 x x x 为根的子树(递归定义)中至少( ≥ \geq )包含 2 bh ( x ) − 1 2^{\text{bh}(x)}-1 2bh(x)1 个内部节点( n ≥ 2 bh ( x ) − 1 n\geq 2^{\text{bh}(x)}-1 n2bh(x)1)。欲证明这点,采用归纳法。

  • x x x 的高度为 0,即 x x x 为叶节点 ( T . n i l T.nil T.nil,只有叶节点的高度为 0),则以 x x x 为根节点的子树至少包含 2 bh ( x ) − 1 = 2 0 − 1 = 0 2^{\text{bh}(x)}-1=2^0-1=0 2bh(x)1=201=0 个内部节点。
  • 考虑 x x x 的高度为正值,且有两个子节点的内部节点 x x x,则其每个子节点有黑高 bh ( x
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五道口纳什

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值