赞
踩
6 7 8 10 11
,即:节点7的后驱为8,也就是去寻找该节点以右孩子为子树的最小节点。删除节点转换举例,假设下列两种情况,我们都是删除节点7
步骤一,后继节点查找,该节点右子树中的最小元素(图中为值8的节点)
步骤二,把后继结点值(8)转移到要删除的节点中
步骤三,转换为删除图中背景为黄色结点
通过上述转换,我们可以得出结论,删除节点只有一个儿子的节点或没有儿子的结点
旋转算法
旋转算法包括左旋和右旋,两种属于镜像对称实现。旋转都是调整结点的位置
左旋
右旋
总结,经过上述分析,我们可以得出,需要调整的情况是:删除的节点和它的儿子都是黑色
接下来,我们将讨论P/S/SL/SR不同颜色时,如何调整
由于S为红色,可以推断出P/SL/SR都为黑色(红黑树性质4)
调整策略
调整策略
调整策略
调整策略
接下来,我们将讨论P/S/SL/SR不同颜色时,如何调整
由于S为红色,可以推断出P/SL/SR都为黑色(红黑树性质4)
调整策略
调整策略
调整策略
调整策略
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。