本篇是在之前的学习删除时的补充篇幅。目标时从头图化出一个完整的红黑树的删除过程。
理论参考
插入过程分析
随意构造了一个红黑树如下:
图1-1:
![](https://i-blog.csdnimg.cn/blog_migrate/c309426591ba3b49c71a5636635ce74b.png)
删除514:
这种场景最简单,因为被删除节点没有子节点。
![](https://i-blog.csdnimg.cn/blog_migrate/2a2a363811233850c8f0de4c5fda6a85.png)
删除11(满足Case1和Case4):
比较复杂,因为它是黑节点。
![](https://i-blog.csdnimg.cn/blog_migrate/79740cb441c4d1a4e87244efae6999a1.png)
删除383:
更加复杂,因为它有孩子节点。而且删除383的时候的逻辑是走的完全相反的,和插入一样,分成A,B两个场景,但是A,B场景下的操作都是完全相反的,要注意一下。
![](https://i-blog.csdnimg.cn/blog_migrate/f655291a7ef192e72fb49a0d0c1ef787.png)
其他场景就不做测试了,具体步骤都在理论那一节列出来了,具体场景具体操作。