B树 、 B+

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fhm6100411074/article/details/79859702
一、B树:是空树,或者是满足下列性质的树:
一棵m阶(最多m个子树)B树(balanced tree of order m)是一棵平衡的m路搜索树
1、根结点至少有两个子树
2、每个非根结点所包含的关键字个数 j 满足:m/2 - 1 <= j <= m - 1
如:M=11  则, 5 <=  结点关键字个数 j <= 10     而  6 <= 结点子树个数 k <= 11
3、除根结点以外的所有结点(不包括叶子结点)的度数(结点的子树个数)正好是关键字总数加1,故内部子树个数 k 满足:m/2 <= k <= m 
4、所有的叶子结点都位于同一层

二、B+树:

B+树是应文件系统所需而出的一种B树的变型树。

一棵m阶的B+树和m阶的B树的差异在于:

1.有n棵子树的结点中含有n个关键字,每个关键字不保存数据,只用来索引,所有数据都保存在叶子结点

2.所有的叶子结点中包含了全部关键字的信息,及指向含这些关键字记录的指针,且叶子结点本身依关键字的大小自小而大顺序链接

3.所有的非终端结点可以看成是索引部分,结点中仅含其子树中的最大(或最小)关键字

通常在B+树上有两个头指针,一个指向根结点,一个指向关键字最小的叶子结点

猜你喜欢

转载自blog.csdn.net/fhm6100411074/article/details/79859702