Mysql为什么使用B+树(一)之红黑树简述
定义:红黑树属于一种自平衡二叉查找树。它所形成的树都是平衡的。
特性:
性质1. 结点是红色或黑色。
性质2. 根结点是黑色。
性质3. 所有叶子都是黑色。
性质4. 每个红色结点的两个子结点都是黑色。
性质5. 从任一结点到其每个叶子的所有路径都包含相同数目的黑色结点。
很明显只从定义,无法看出红黑树的原理,我通过自己的理解画了对应的插入图,下图演示红黑树插入数据1,2,3,4,5,6,7的过程(红色代表红树,黑色代表黑树):
插入1:
插入2:
插入3:
插入4:
插入5:
插入6:
插入7:
由这个图我们就能看出这里面所存在的缺点,就是树的高度太高了,左边明显很少,右边很多,当我们查询索引是7的数据时,还是需要查询4次才能找到。
Mysql为什么使用B+树(一)之红黑树简述相关推荐
- 从二叉查找树到平衡树:avl, 2-3树,左倾红黑树(含实现代码),传统红黑树...
参考:自平衡二叉查找树 ,红黑树, 算法:理解红黑树 (英文pdf:红黑树) 目录 自平衡二叉树介绍 avl树 2-3树 LLRBT(Left-leaning red-black tree左倾红黑树 ...
- 【数据结构】利用4阶B树辅助理解——红黑树删除节点
文章目录 学习目标: 学习内容: 一.删除节点的过程 二. 删除对象的转换 三.失黑的原因&失黑修正原则 3.1失黑的原因 3.2 失黑修正原则 3.2.1 可以在节点内部平衡的情况 3.2. ...
- java 二叉树 红黑树_常见数据结构(二)-树(二叉树,红黑树,B树)
常见数据结构(二)-树(二叉树,红黑树,B树) 标签: algorithms [TOC] 本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自course ...
- 高级数据结构研究-B树系列以及红黑树
程序员做的越久,越发觉得基本功显得越来越重要了.基本功不扎实会潜移默化的影响你的程序开发,这不是,上次浏览博客,看到了一篇运用B+树实现数据库索引的功能,当时就不明白了,看似毫无关系的两者,怎么会有联 ...
- 【算法导论】 二叉搜索树、AVL树、和红黑树
二叉搜索树 二叉搜索树是一颗二叉树或一颗空树且满足以下性质: 1)根节点 x的key值大于任意左子树上节点的key值,小于右子树上任意节点的key值 : 2)其左右子树也分别是一颗二叉搜索树. 使用二 ...
- MySQL数据库的红黑树优化_为什么Mysql用B+树做索引而不用B-树或红黑树
B+树做索引而不用B-树 那么Mysql如何衡量查询效率呢?– 磁盘IO次数. 一般来说索引非常大,尤其是关系性数据库这种数据量大的索引能达到亿级别,所以为了减少内存的占用,索引也会被存储在磁盘上. ...
- Mysql 索引为啥使用B+树?不用哈希或B树?红黑树?
哈希索引:单个记录的增删改查效率高,时间复杂度是O(1):但对于范围查询需要全表扫描: B树: 1 范围查询时效率比B+树低(B树的叶子结点缺少有序链表): 2 内部节点(非叶子结点)既存储数据也存储 ...
- HashMap底层实现原理,红黑树,B+树,B树的结构原理,volatile关键字,CAS(比较与交换)实现原理
HashMap底层实现原理,红黑树,B+树,B树的结构原理,volatile关键字,CAS(比较与交换)实现原理 首先HashMap是Map的一个实现类,而Map存储形式是键值对(key,value) ...
- 红黑树、B(+)树、跳表、AVL对比
在网上学习了一些材料. 这一篇:https://www.zhihu.com/question/30527705 AVL树:最早的平衡二叉树之一.应用相对其他数据结构比较少.windows对进程地址空间 ...
最新文章
- Linux中如何配置IP
- 机器学习数据预处理之缺失值:样本删除
- python:ElementTree操作XML
- 【直播预告】第四范式Intel AI应用与异构内存编程挑战赛专场活动开启报名
- C#深度优先做数字的全排列
- android 入门-android自定义控件
- LinkedList剖析
- python学生管理系统类图_类图 python
- 从零开始学习jQuery (三) 管理jQuery包装集【转】
- 好看的a标签按钮样式
- 【今日CV 视觉论文速览】30 Nov 2018
- Data-Mediator入门系列4----常用类说明
- 基础知识(四)C++常用函数.txt
- 【持续更新】总结国内外图形学物理模拟相关学者和网站
- SolidWorks的发展历史(1994~2007)
- 电脑怎么压缩图片大小kb?压缩图片用什么软件?
- 使用阿里云ECS搭建Nextcloud私有云服务器
- LCD笔记(7)LCD驱动程序框架_配置时钟
- 使用exceljs读取和导出Excel并支持图片导出
- jQuery中ajax用form表单方式提交数据