小探红黑树

本文对红黑树的特点和性质进行说明,不对红黑树的操作等问题进行代码方面的探究。

1、上帝视角看红黑树

红黑树的本质是一个相对平衡的二叉搜索树。 之所以称之为相对平衡,是因为平衡二叉树要求每个节点的左子树和右子树的高度差至多为1,而红黑树要求其高度差可以至多为1倍;所以说红黑树是一个广义的平衡二叉树,并且也是一个二叉搜索树。

2、红黑树的五条性质

1) 每个节点要么是红色的,要么是黑色的;
2)根结点时黑色的;
3)每个叶子节点必须是黑色的;
4)如果一个节点是红的,那它的两个儿子都是黑的;
5)对于任一节点而言,其到叶结点的每一条路径都包含了相同数目的黑节点;

有了以上性质的约束,一棵n个节点的红黑树高度始终保持为lgn,从而,红黑树的查找、插入、删除的时间复杂度最坏都是O(lgn)

3、红黑树与AVL树的比较

红黑树的查找比AVL树慢,因为红黑树的深度可能更深;
红黑树的插入和删除相对于AVL树更快,因为其减少了插入和删除之后维护树严格平衡条件的自旋操作。

4、红黑树示例

红黑树示意图

【参考】
本文参考了教你透彻了解红黑树一文,如果想更深入的了解红黑树,也可以去读这篇文章。

欢迎转载,转载请注明出处wenmingxing 小探红黑树

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录 0.树0.1 一般树的定义0.2 二叉树的定义 1.查找树ADT 2.查找树的实现2.1 二叉查找树2.2 ...
    王侦阅读 12,103评论 0 3
  • B树的定义 一棵m阶的B树满足下列条件: 树中每个结点至多有m个孩子。 除根结点和叶子结点外,其它每个结点至少有m...
    文档随手记阅读 14,585评论 0 25
  • 一. 算法之变,结构为宗 计算机在很多情况下被应用于检索数据,比如航空和铁路运输业的航班信息和列车时刻表的查询,都...
    Leesper阅读 11,969评论 13 42
  • 最近花了些时间重拾数据结构的基础知识,先尝试了红黑树,花了大半个月的时间研究其原理和实现,下面是学习到的知识和一些...
    hoohack阅读 5,400评论 8 30
  • 二叉搜索树,平衡树,B,b-,b+,b*,红黑树 二叉搜索树 ​ 1.所有非叶子结点至多拥有两个儿子(Le...
    raincoffee阅读 9,405评论 3 18