红黑树的添加和删除逻辑,简易图解版

(1)教学来源,抛开具体的代码,讲清楚原理,这位b站老师,讲的非常好。理论干货,最棒的

以下算是对这位老师讲课的 一些笔记总结。
(2)红黑树的增加节点:
在这里插入图片描述
(3)红黑树的删除节点
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
还有人说那搞不懂那网上,看大家写的东西,好像也也运行也都没问题啊。
实际上咱们网上很多那个东西啊,他根本就不对了,写错了。有的是有缺陷有的根本性的就写错了。
那为啥还没有什么,还没有没有没有崩溃呢?这就是因为这红黑树他有一个很很很好的性质他就是高度稳定性。就哪怕你写错了,他也不会有什么大错,他就可以带病带伤运行。
就比如你写错了又怎么样呢?你把两个红结点连着连着就连着呗。连着他他能死人吗?你违背了红黑树性质,我就违背了又怎么样啊?你只要不是写的太过分,他那个排序的那个东西还是你2X排序,这个顺序还保持着呢。那他查找也不会出错,就是慢点可能。
就你这个红黑树他是病态的畸形的,但是呢,要不是拿那种很很专门攻击你的数据,去对你的数进行访问,你也不至于进行到哪去,就是带着病运行。像他这样有有很多。工作环境中生产环境中,我我发现也有带病运行的,但,他没问题。
哎所以说,咱咱网上有些东西啊他那有缺陷或,者是写错了呢,你还一时半会还找不到,还看不出来,表现不出来。
哎是因为你不可能说,每次都把这红运数字全屏画一个图。就算你能画一个图,他里面有一个不平衡的错误,你能看出来吗?这个是不不好查的。
所以我们这个东西一定要谨慎。这个确实很复杂。这个删除确实很复杂,所以咱们今天呢还是由易到难。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
那有人就有就就经常有各种想法说:他的侄子是不是一定存在呀,万一他要是空节点呢?那下边就没有这23了。
哎这个问题呢,你可以这么想,我是什么颜色?我肯定得是黑色,为什么?因为我是发什么申请啊,我是向上级发出我欠高的申请,说明我们这个家族欠高。那如果我都是红的,我还欠高,那我为什么不自己调成黑的呢?那对我家族的平衡没有影响,并且我的黑高也满足了那多好呀。所以我一定是黑的。
那么既然我是黑的我就欠高,说明我这边的高至少是2,那哥哥这边至少是2。所以他的两个侄子是一定存在的。这个不用怀疑。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
通过这六种情况,汇总了,不重不漏的节点删除。可以以此编写代码,阅读源码了。谢谢这位b站老师。
(4)以上是对左子树欠高的讨论。其实左右子树是对称的,右子树也可能欠高,需要从左子树借节点。下面补充各种情况的图解版:
我们先附上大纲:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

谢谢老师和前辈的讲解。谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值