红黑树

为什么产生红黑树

  • 动态规模比平衡二叉树(AVL)小;(动态规模指:对二叉树进行查找后进行修改或删除操作等);
  • 因为AVL对平衡度要求严格,导致动态查找规模很大,而红黑树在动态规模小的情况下也可以达到相对平衡;
  • 静态查找(只查找不操作)相对比ACL要慢;
  • 一种特殊的二叉排序树;

特性

  1. 每个结点要么红色要么黑色;
  2. 根结点是黑色;
  3. 每个叶子结点都是 黑色
  4. 红色结点其孩子是黑色;
    4.1 不会出现连续红色结点;
    4.2 红色结点的父与子都是黑色;
  5. 从任意一个结点到叶子结点的简单路径中黑色结点数量相同(黑高度);
  6. 最长简单路径 / 最短简单路径 < 2;

<img src="https://raw.githubusercontent.com/liangxifeng833/my_program/master/images/datastruct/red_black.png" width="558" />

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

相关阅读更多精彩内容

  • 数据结构与算法--从平衡二叉树(AVL)到红黑树 上节学习了二叉查找树。算法的性能取决于树的形状,而树的形状取决于...
    sunhaiyu阅读 12,267评论 4 32
  • 一. 算法之变,结构为宗 计算机在很多情况下被应用于检索数据,比如航空和铁路运输业的航班信息和列车时刻表的查询,都...
    Leesper阅读 11,979评论 13 42
  • 二叉搜索树,平衡树,B,b-,b+,b*,红黑树 二叉搜索树 ​ 1.所有非叶子结点至多拥有两个儿子(Le...
    raincoffee阅读 9,406评论 3 18
  • 最近花了些时间重拾数据结构的基础知识,先尝试了红黑树,花了大半个月的时间研究其原理和实现,下面是学习到的知识和一些...
    hoohack阅读 5,404评论 8 30
  • 树(tree)的基本知识 一.定义 树是一种抽象数据类型,或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构...
    337b94dc718f阅读 12,109评论 3 42

友情链接更多精彩内容