一.基础知识
1.查找——树形结构——B+树
2.蓝色分支节点,绿色叶子节点
对于一个m阶B+树
(1)每个分支节点最多有m棵子树
注:B树为m-1
(2)结点的子树个数与关键字个数相等,至少为⌈m/2⌉
(3)叶结点中将关键字按大小顺序排列,并且相邻叶结点按大小顺序相互连接
(4)分支节点为子树关键字的最大值及指向其子结点的指针
(5)B+树也需要“绝对平衡”,即所有子树高度相同
二.查找
1.要查找的是银色框中的记录,因此必须找到叶子结点
2.所有叶结点包含全部关键字及指向相应记录的指针(绿色包含了所有蓝色)
3.查找时可以按排序树查找,也可以仅针对绿色顺序查找
按树查找
开始查找:15,左,3,9,左,6,8,9,记录,查找成功
绿色顺序查找:
开始查找:1,3,6,8,9查找成功
按树查找
开始查找:15,左,3,9,左,6,8,查找失败
对比B树,相当于:
找到就停,不存在重复元素
三.B与B+对比
1.对于m阶B树/B+树
(1)
B:结点中的n个关键字对应n+1棵子树
B+:结点中的n个关键字对应n棵子树
(2)
B
根结点关键字数∈[1,m-1]
其他结点关键字数∈[⌈m/2⌉-1,m-1]
B+
根结点关键字数∈[1,m]
其他结点关键字数∈[⌈m/2⌉,m]
(3)
B+:叶结点包含全部关键字
B:各结点包含的关键字是不重复的
(4)
B+:叶结点包含信息,所有非叶结点仅起索引作用,非叶结点中的每个索引项只含有对应子树的最大关键字和指向该子树的指针,不含有该关键字对应记录的存储地址。可以使一个磁盘块包含更多的关键字,使B+树的阶更大,树矮,读磁盘次数更少,查找更快
B:各结点都包含了关键字对应的记录的存储地址
(5)