标签:通过 偏移量 构造 平衡 节点 保存 soft 多叉树 查询
一、B树
1、什么是B树
他是一种平衡多叉树
2、M阶B树的特点
3、B树的作用
B树常用于文件索引
4、B树的常见操作
插入、删除、查找
二、B+树
1、什么是B+树
各种资料上B+树的定义各有不同,一种定义方式是关键字个数和孩子结点个数相同。这里我们采取维基百科上所定义的方式,即关键字个数比孩子结点个数小1,这种方式是和B树基本等价的。
2、B+树的特点
(1)B+树与B树最大的不同是内部结点不保存数据,只用于索引,所有数据(或者说记录)都保存在叶子结点中。
(2)内部结点中的key都按照从小到大的顺序排列,对于内部结点中的一个key,左树中的所有key都小于它,右子树中的key都大于等于它。叶子结点中的记录也按照key的大小排列。
(3) 每个叶子结点都存有相邻叶子结点的指针,叶子结点本身依关键字的大小自小而大顺序链接。
3、B+树的作用
B+树常用于数据库索引
4、B+树的常见操作
插入、删除、查找
三、B树和B+树的区别
1、关键字的数量不同;B+树中分支结点有m个关键字,其叶子结点也有m个,其关键字只是起到了一个索引的作用,但是B树虽然也有m个子结点,但是其只拥有m-1个关键字。
2、存储的位置不同;B+树中的数据都存储在叶子结点上,也就是其所有叶子结点的数据组合起来就是完整的数据,但是B树的数据存储在每一个结点中,并不仅仅存储在叶子结点上。
3、分支结点的构造不同;B+树的分支结点仅仅存储着关键字信息和儿子的指针(这里的指针指的是磁盘块的偏移量),也就是说内部结点仅仅包含着索引信息。
4、查询不同;B树在找到具体的数值以后,则结束,而B+树则需要通过索引找到叶子结点中的数据才结束,也就是说B+树的搜索过程中走了一条从根结点到叶子结点的路径。
标签:通过 偏移量 构造 平衡 节点 保存 soft 多叉树 查询
原文地址:https://www.cnblogs.com/beanjk/p/10557657.html