考研408总结【数据结构】---红黑树

1,232 阅读2分钟

这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战

考研倒计时:48天

参考资料: 王道数据结构考研

红黑树是2022年408新增考点

本篇简要总结红黑树的性质和插入操作.

平衡二叉树:插入删除很容易破坏平衡特性,需要频繁调整树的形态。 而红黑树:插入删除很多时候不会破坏“红黑”特性,无需频繁调整树的形态。

所以AVL适合以查为主的场景,红黑树适合频繁插入、删除的场景。

红黑树的定义和性质

image.png

插入

image.png 比如下面的一个例子

  1. 插入20,新结点是根,染黑即可。 image.png

  2. 接着插入10,新结点是非根,染红,仍然满足红黑树的特性。

image.png

  1. 插入5,非根染红,违反“不红红”,叔叔是黑色的,属于LL型。 image.png 所以先按照LL型进行右旋调整

image.png

最后进行父换爷+染色

image.png

  1. 插入30,非根染红,违反“不红红”,叔叔是红色的,所以进行叔父爷染色。

image.png

叔父爷染色之后,把爷结点当作新结点 image.png

发现新结点是根,染黑即可。

image.png

这里示例了黑叔的LL型和红叔的两种情况,其他情况可以自行登录此网址进行学习。 红黑树在线演示

题目(来源网络): 红黑树在处理过程中红黑节点会产生冲突,请问在下列操作中解决的冲突中,正确的是______。
A、插入操作时,解决红黑冲突
B、删除操作时,解决红黑冲突
C、插入操作时,解决红红冲突
D、删除操作时,解决黑黑冲突

点击查看答案 C,插入主要违反”不红红“,也就是红红冲突。

部分内容待补充完善~

如有误,请多指正!