CLRS 13.3插入

13.3-1
不破坏性质 4 不代表不破坏红黑树其他性质,若将 z 着为黑色,那么性质 5 将被破坏。

13.3-2
只给出插入后的结果,调整步骤略。
这里写图片描述

13.3-3
图 13-5:
a) 转换前结点 A,B,C,D 的黑高都是 k+1 ,转换后 A,B,D 的黑高是 k+1 C 变成 k+2
b) 转换前结点 A,B,C,D 的黑高都是 k+1 ,转换后 A,B,D 的黑高是 k+1 C 变成 k+2

图13-6
情况2、3转换前结点 A,B,C 的黑高都是 k+1 ,转换后 A,B,C 的黑高是 k+1

13.3-4
颜色被设置为红色的情况只有 1 和 3,这两种情况都是将z.p.p变为红色。如果z.p.p是哨兵,则z.p是根结点,通过循环不变式的 b) 部分以及RB-INSERT-FIXUP的第一行知此时会跳出循环。对于情况 2,在z.p.p着成红色前我们先设置了z = z.p,然后在着色前我们旋转z,此时z.p.p和情况 2 前后就成了一样了,因此是没有问题的。

13.3-5
n=2 时,根的孩子结点必是红色。以后每次插入结点时,如果是情况 1,则插入结点时红色;如果是情况 2、3,虽然有颜色改变,但红黑数目不变,在旋转结束后就跳出循环。
因此树中至少有一个红结点。

13.3-6
用栈保存从根节点至插 入结点路径中所有的结点。然后将栈传给RB-INSERT-FIXUP以及LFET-RORATERIGHT-RORATE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值