文章插图
图28 删除情景2.2.2.3
综上,红黑树删除后自平衡的处理可以总结为:
- 自己能搞定的自消化(情景1)
- 自己不能搞定的叫兄弟帮忙(除了情景1、情景2.1.2.3和情景2.2.2.3)
- 兄弟都帮忙不了的,通过父母,找远方亲戚(情景2.1.2.3和情景2.2.2.3)
最后再做个习题加深理解(请不熟悉的同学务必动手画下):
习题2:请画出图29的删除自平衡处理过程 。
文章插图
五、写在后面
耗时良久,终于写完了~自己加深了红黑树的理解的同时,也希望能帮助大家 。如果你之前没学习过红黑树,看完这篇文章后可能还存在很多疑问,如果有疑问可以在评论区写出来,我会尽自己所能解答 。另外给大家推荐一个支持红黑树在线生成的网站,来做各种情景梳理很有帮助:
在线生成红黑树(删除操作那个把替代结点看作删除结点思路就是我自己在用这个网站时自己顿悟的,我觉得这样讲解更容易理解 。)
sandbox.runjs.cn/show/2nngvn8w
少了代码是不是觉得有点空虚?哈哈,后续我会写关于Java和HashMap和TreeMap的文章,里面都有红黑树相关的知识 。相信看了这篇文章后,再去看Java和HashMap和TreeMap的源码绝对没难度!
最后来看下思考题和习题的答案吧 。
六、思考题和习题答案
思考题1:黑结点可以同时包含一个红子结点和一个黑子结点吗?
答:可以 。如下图的F结点:
文章插图
习题1:请画出图15的插入自平衡处理过程 。
文章插图
习题2:请画出图29的删除自平衡处理过程 。
文章插图
【彻底理解红黑树】
推荐阅读
- 软件为何不能彻底卸载,因为没用对方式,附预防手机卡的办法
- 2 万字详解,彻底讲透 Elasticsearch
- 我在理解中成长 以理解为话题的作文
- 衣服太透怎么办?简单几招解决白色衣服透明小妙招透底彻底说拜拜
- 中国最好的茶是什么茶,中国六大类茶理解
- 我从来不理解JavaScript闭包,直到有人这样向我解释它
- 中国茶有几种,中国六大类茶理解
- 什么是茶德,中国六大类茶理解
- 化妆|30+女孩:彻底摊牌,我不“装”了
- 一个妙招,5分钟彻底清洗油烟机滤网油泥,双手全程不沾油