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

修正后是这样:
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
本文深入探讨了红黑树的RB-INSERT-FIXUP操作,包括颜色翻转和旋转等关键步骤,确保插入后依然保持红黑树性质。详细解析了case1、case2和case3三种情况的处理,是理解红黑树数据结构的重要参考资料。
1075

被折叠的 条评论
为什么被折叠?



