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

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

特性:

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

性质2. 根结点是黑色。 

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

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

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

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

       插入1:Mysql为什么使用B+树(一)之红黑树简述_第1张图片

 插入2:Mysql为什么使用B+树(一)之红黑树简述_第2张图片

 插入3:Mysql为什么使用B+树(一)之红黑树简述_第3张图片

 Mysql为什么使用B+树(一)之红黑树简述_第4张图片

 插入4:

Mysql为什么使用B+树(一)之红黑树简述_第5张图片

 Mysql为什么使用B+树(一)之红黑树简述_第6张图片

插入5:

Mysql为什么使用B+树(一)之红黑树简述_第7张图片

 Mysql为什么使用B+树(一)之红黑树简述_第8张图片

插入6:

Mysql为什么使用B+树(一)之红黑树简述_第9张图片

 Mysql为什么使用B+树(一)之红黑树简述_第10张图片

 插入7:

Mysql为什么使用B+树(一)之红黑树简述_第11张图片

 Mysql为什么使用B+树(一)之红黑树简述_第12张图片

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

你可能感兴趣的:(笔记,mysql,数据库,mysql,b树,java)