红黑树逻辑深度与代码实现.pdfVIP

  • 1
  • 0
  • 约5.06千字
  • 约 12页
  • 2026-05-19 发布于北京
  • 举报

深度解剖树的实现

今日目标:

1:能说出树删除的几种逻辑及处理方式

2:完成树删除逻辑的代码实现

1、树的实现-续

首先,树也是一棵二叉搜索树,对于二叉搜索树的删除,总共可以分为3中情况:

1、删除度为0的节点:直接删除

2、删除度为1的节点:父节点指向其子节点

3、删除度为2的节点:用前驱节点或后继节点替换删除节点,真正被删除的是用以替换的前驱或者

后继节点,即回到了前两种情况。

1.1、删除的所有情况

通过对BST树删除情况的分析,树的删除总共有如下几种情况:

1.2、删除度为1的黑色节点

这种情况是:删除的是黑色节点,且它有一个红色替代子节点(只可能是红色不可能是黑色,因为

如果是黑色了树的性质5)

判断条件:用以替代的子节点是红色

解决方案:将替代的子节点染黑色即可。

1.3、删除度为0的黑色节点

1.3.1、度为0的根节点

如果被删除节点度为0,且是根节点,则直接删除即可,无需做任何调整。

1.3.2、度为0的非根节点

1.3.2.1、兄弟节点是黑色

1.3.2.1.1、黑兄弟有红色子节点

被删除节点在左边:父节点RR/RL旋转,旋转后根节点继承父节点颜

文档评论(0)

1亿VIP精品文档

相关文档