参考文章
了解B+树的删除_zsx0728的博客-CSDN博客_b+树删除
目录
1、B树(B-树)的定义
一颗
M
阶
B
树
T
,满足以下条件
(1)
每个结点至多拥有
M
课子树
(2)根结点至少拥有两颗子树
(3)除了根结点以外,其余每个分支结点至少拥有
M/2
课子树
(4)所有的叶结点都在同一层上
(5)有
k
课子树的分支结点则存在
k-1
个关键字,关键字按照递增顺序进行排序
(6)关键字数量满足
ceil(M/2)-1 <= n <= M-1
2、B树和B+树的区别
-
在B树中,你可以将键和值存放在内部节点和叶子节点;但在B+树中,内部节点都是键,没有值,叶子节点同时存放键和值。
-
B+树的叶子节点有一条链相连,而B树的叶子节点各自独立。
一般用于存储结构,包括磁盘搜索,数据库的mysql使用b+树(关系型数据库),MongoDB使用B-树(json格式数据)。
3、B树增加和删除的基本原理
由于增删使用的策略不同,所以过程中可能会出现多种b树。
4、B树的增加(以26个英文字母添加为例)
按上述过程,进行分列,最终添加出如下的一个B树。
5、B树的删除