LeetCode面试刷题技巧- B树习题集(二)
【摘要】
红黑树
红黑树简介
红黑树是一种自平衡二叉搜索树,其中每个节点都有一个额外的比特,这个位通常被解释为颜色(红色或黑色)。这些颜色用于确保树在插入和删除过程中保持平衡。虽然树的平衡并不完美,但它足以减少搜索时间,并将其维持在左右,其中是树中元素的总数。这棵树是Rudolf Bayer在1972年发明的。
必须注意的是,由于每个节点只...
红黑树
红黑树简介
红黑树是一种自平衡二叉搜索树,其中每个节点都有一个额外的比特,这个位通常被解释为颜色(红色或黑色)。这些颜色用于确保树在插入和删除过程中保持平衡。虽然树的平衡并不完美,但它足以减少搜索时间,并将其维持在左右,其中是树中元素的总数。这棵树是Rudolf Bayer在1972年发明的。
必须注意的是,由于每个节点只需要1位空间来存储颜色信息,这些类型的树与经典(无颜色)二叉搜索树的内存占用是相同的。
每个红黑树遵循的规则:
-
每个节点都有一种颜色,要么是红色,要么是黑色。
-
树的根总是黑色的。
-
没有两个相邻的红节点(红节点不能有红父节点或红子节点)。
-
从一个节点(包括根节点)到它的任何后代NULL节点的每一条路径都有相同数量的黑节点。
为什么红黑树?
与AVL树比较:与红黑树相比,AVL树更平衡,但在插入和删除过程中可能会导致更多的旋转。因此,如果应用程序涉及频繁的插入和删除,那么Red-Black树应该是首选。如果插入和删除的频率较低,而搜索的频率较高ÿ
文章来源: wenyusuran.blog.csdn.net,作者:文宇肃然,版权归原作者所有,如需转载,请联系作者。
原文链接:wenyusuran.blog.csdn.net/article/details/123679200
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)