定义:红黑树属于一种自平衡二叉查找树。它所形成的树都是平衡的。

特性:

性质1. 结点是红色或黑色。

性质2. 根结点是黑色。

性质3. 所有叶子都是黑色。

性质4. 每个红色结点的两个子结点都是黑色。

性质5. 从任一结点到其每个叶子的所有路径都包含相同数目的黑色结点。

很明显只从定义,无法看出红黑树的原理,我通过自己的理解画了对应的插入图,下图演示红黑树插入数据1,2,3,4,5,6,7的过程(红色代表红树,黑色代表黑树):

插入1:

插入2:

插入3:

插入4:

插入5:

插入6:

插入7:

由这个图我们就能看出这里面所存在的缺点,就是树的高度太高了,左边明显很少,右边很多,当我们查询索引是7的数据时,还是需要查询4次才能找到。

Mysql为什么使用B+树(一)之红黑树简述相关推荐

  1. 从二叉查找树到平衡树:avl, 2-3树,左倾红黑树(含实现代码),传统红黑树...

    参考:自平衡二叉查找树 ,红黑树, 算法:理解红黑树 (英文pdf:红黑树) 目录 自平衡二叉树介绍 avl树 2-3树 LLRBT(Left-leaning red-black tree左倾红黑树 ...

  2. 【数据结构】利用4阶B树辅助理解——红黑树删除节点

    文章目录 学习目标: 学习内容: 一.删除节点的过程 二. 删除对象的转换 三.失黑的原因&失黑修正原则 3.1失黑的原因 3.2 失黑修正原则 3.2.1 可以在节点内部平衡的情况 3.2. ...

  3. java 二叉树 红黑树_常见数据结构(二)-树(二叉树,红黑树,B树)

    常见数据结构(二)-树(二叉树,红黑树,B树) 标签: algorithms [TOC] 本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自course ...

  4. 高级数据结构研究-B树系列以及红黑树

    程序员做的越久,越发觉得基本功显得越来越重要了.基本功不扎实会潜移默化的影响你的程序开发,这不是,上次浏览博客,看到了一篇运用B+树实现数据库索引的功能,当时就不明白了,看似毫无关系的两者,怎么会有联 ...

  5. 【算法导论】 二叉搜索树、AVL树、和红黑树

    二叉搜索树 二叉搜索树是一颗二叉树或一颗空树且满足以下性质: 1)根节点 x的key值大于任意左子树上节点的key值,小于右子树上任意节点的key值 : 2)其左右子树也分别是一颗二叉搜索树. 使用二 ...

  6. MySQL数据库的红黑树优化_为什么Mysql用B+树做索引而不用B-树或红黑树

    B+树做索引而不用B-树 那么Mysql如何衡量查询效率呢?– 磁盘IO次数. 一般来说索引非常大,尤其是关系性数据库这种数据量大的索引能达到亿级别,所以为了减少内存的占用,索引也会被存储在磁盘上. ...

  7. Mysql 索引为啥使用B+树?不用哈希或B树?红黑树?

    哈希索引:单个记录的增删改查效率高,时间复杂度是O(1):但对于范围查询需要全表扫描: B树: 1 范围查询时效率比B+树低(B树的叶子结点缺少有序链表): 2 内部节点(非叶子结点)既存储数据也存储 ...

  8. HashMap底层实现原理,红黑树,B+树,B树的结构原理,volatile关键字,CAS(比较与交换)实现原理

    HashMap底层实现原理,红黑树,B+树,B树的结构原理,volatile关键字,CAS(比较与交换)实现原理 首先HashMap是Map的一个实现类,而Map存储形式是键值对(key,value) ...

  9. 红黑树、B(+)树、跳表、AVL对比

    在网上学习了一些材料. 这一篇:https://www.zhihu.com/question/30527705 AVL树:最早的平衡二叉树之一.应用相对其他数据结构比较少.windows对进程地址空间 ...

最新文章

  1. Linux中如何配置IP
  2. 机器学习数据预处理之缺失值:样本删除
  3. python:ElementTree操作XML
  4. 【直播预告】第四范式Intel AI应用与异构内存编程挑战赛专场活动开启报名
  5. C#深度优先做数字的全排列
  6. android 入门-android自定义控件
  7. LinkedList剖析
  8. python学生管理系统类图_类图 python
  9. 从零开始学习jQuery (三) 管理jQuery包装集【转】
  10. 好看的a标签按钮样式
  11. 【今日CV 视觉论文速览】30 Nov 2018
  12. Data-Mediator入门系列4----常用类说明
  13. 基础知识(四)C++常用函数.txt
  14. 【持续更新】总结国内外图形学物理模拟相关学者和网站
  15. SolidWorks的发展历史(1994~2007)
  16. 电脑怎么压缩图片大小kb?压缩图片用什么软件?
  17. 使用阿里云ECS搭建Nextcloud私有云服务器
  18. LCD笔记(7)LCD驱动程序框架_配置时钟
  19. 使用exceljs读取和导出Excel并支持图片导出
  20. jQuery中ajax用form表单方式提交数据

热门文章

  1. Python描述数据结构之链表实战篇
  2. COBOL 知识点集锦(下)
  3. 怎么查看笔记本内存条型号_笔记本如何加内存条之如何查看笔记本内存品牌和型号...
  4. 查了一下平板电视的价格行情
  5. 关于构造和二进制,题目:牛牛的DRB迷宫Ⅱ(源自牛客竞赛2020年寒假集训)
  6. 雨棚板弹性法计算简图_雨棚板的计算书
  7. 企业标志设计主题要素
  8. 生物特性再次助力无人机技术突破
  9. 体验在终端——参加2012年移动开发者大会有感
  10. 微软雅黑与微软正黑体