d051007_彻底搞懂红黑树(三) - haidao2009专栏 - 博客频道 - CSDN.pdfVIP

d051007_彻底搞懂红黑树(三) - haidao2009专栏 - 博客频道 - CSDN.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
haidao2009的专栏 目录视图 摘要视图 订阅 个人资料 Markdown博文大赛清新开启 天天爱答题 一大波C 币袭来 寻找Java大牛 ! 大数据完美组合Spark+Scala ,这样学才够值 ! 彻底搞懂红黑树 (三) 分类: 数据结构 20 12-10-16 17:29 1980人阅读 评论(4) 收藏 举报 算法 目录(?) [+] 且听风雨999 四 红黑树的插入 访问: 7550 1次 从红黑树上删除一个节点,可以先用普通二叉搜索树的方法,将节点从红黑树上删除掉,然后再将被 破坏的红黑性质进行恢复。 积分: 997 我们回忆一下普通二叉树的节点删除方法:Z指向需要删除的节点,Y指向实质结构上被删除的 等级: 结点,如果Z节点只有一个子节点或没有子节点,那么Y就是指向Z指向的节点。如果Z节点有两个子 排名: 千里之外 节点,那么Y指向Z节点的后继节点 (其实前趋也是一样的),而Z的后继节点绝对不可能有左子树。 因此,仅从结构来看,二叉树上实质被删除的节点最多只可能有一个子树。 原创: 30篇 转载: 10篇 译文: 0篇 评论: 56条 现在我们来看红黑性质的恢复过程: ①如果Y指向的节点是个红色节点,那么直接删除掉Y 以后,红黑性质不会被破坏。操作结束。 文章搜索 ②如果Y指向的节点是个黑色节点,那么就有几条红黑性质可能受到破坏了。首先是包含Y节点 的所有路径,黑高度都减少了一 (第 5条被破坏)。其次,如果Y 的有红色子节点,Y又有红色的父 节点,那么Y被删除后,就出现了两个相邻的红色节点 (第 4条被破坏)。最后,如果Y指向的是根 节点,而Y 的子节点又是红色的,那么Y被删除后,根节点就变成红色的了 (第 2条被破坏)。 文章分类 其中,第 5条被破坏是让我们比较难受的。因为这影响到了全局。这样动作就太大太复杂了。而 且在这个条件下,进行其它红黑性质的恢复也很困难。所以我们首先解决这个问题:如果不改变含Y machine learning (15) 数据结构 (4) 路径的黑高度,那么树的其它部分的黑高度就必须做出相应的变化来适应它。所以,我们想办法恢复 s kill (5) 原来含Y节点的路径的黑高度。做法就是:无条件的把Y节点的黑色,推到它的子节点X上去。 (X 实习 (1) 可能是NIL节点)。这样,X就可能具有双重黑色,或同时具有红黑两色,也就是第 1条性质被破 工具 (4) 坏了。 (这个很重要) 嵌入式 (1) 但第 1条性质是比较容易恢复的: linux 内核 (4) 杂文 (2) 一、如果X是同时具有红黑两色,那么好办,直接把X涂成黑色,就行了。而且这样

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档