算法导论 13.3 RB-INSERT-FIXUP(T, z)算法中的缩进问题

本文深入探讨了红黑树的RB-INSERT-FIXUP操作,包括颜色翻转和旋转等关键步骤,确保插入后依然保持红黑树性质。详细解析了case1、case2和case3三种情况的处理,是理解红黑树数据结构的重要参考资料。
摘要由CSDN通过智能技术生成

感觉好像是少了一个换行符。。。

修正后是这样:

RB-INSERT-FIXUP(T, z)
1    while z.p.color == RED
2        if z.p == z.p.p.left
3            y = z.p.p.right
4            if y.color == RED
5                z.p.color = BLACK        // case 1
6                y.color = BLACK          // case 1
7                z.p.p.color = RED        // case 1
8                z = z.p.p                // case 1
9            else 
10               if z = z.p.right
11                   z = z.p              // case 2
12                   LEFT-ROTATE(T, z)    // case 2
13               z.p.color = BLACK        // case 3
14               z.p.p.color = RED        // case 3
15               RIGHT-ROTATE(T, z.p.p)   // case 3
16       else(same as then clause with "right" and "left" exchanged)
17   T.root.color = BLACK

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值