DTX:
case 2
我看代码假设哈
进入循环之后
node指向n
tmp指向n的左子树(虽然么得)
把tmp存在p的右指数去(虽然是空)
把p存到n的左子树去
然后有tmp就改成黑色颜色 因为是叶子 没有就继续
把parent也改成红色 如果左右儿子都有的话
augment_rotation应该是让parent指向node
然后parent再指向node(node已经是parent了)
tmp指向node的右子树(相当于回到一开始的状态)
DTX:
case 3
tmp是p的右边 放到g的左子树
g放到p的右边
如果tmp有的话, 作为叶子就变黑
__rb_rotate_set_parents可能就是看看要不要把p变红
augment_rotation应该是让gparent指向parent
本文深入探讨红黑树的旋转操作,详细分析case2和case3中的节点指针调整及颜色变化,包括如何通过旋转保持红黑树的性质,如节点颜色更改、父节点指向更新等关键步骤。
177万+

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



