本文转载自:讲点"B树",一文详解[B-树],[B+树],[B*树];及其优缺点比较,
一、B-树
1. B-树是一种多路搜索树(并不一定是二叉的)
1970年,R.Bayer和E.mccreight提出了一种适用于外查找的树,它是一种平衡的多叉树,称为B树(或B-树、B_树)。
2. 一棵m阶B树(balanced tree of order m)是一棵平衡的m路搜索树。它或者是空树,或者是满足下列性质的树:
- 根结点至少有两个子女;
- 每个非根节点所包含的关键字个数 j 满足:┌m/2┐ - 1 <= j <= m - 1;
- 除根结点以外的所有结点(不包括叶子结点)的度数正好是关键字总数加1,故内部子树个数 k 满足:┌m/2┐ <= k <= m ;
- 所有的叶子结点都位于同一层。
二、特点:
是一种多路搜索树(并不是二叉的):
- 定义任意非叶子结点最多只有M个儿子;且M>2;
- 根结点的儿子数为[2, M];
- 除根结点以外的非叶子结点的儿子数为[M/2, M];
- 每个结点存放至少M/2-1(取上整)和至多M-1个关键字;(至少2个关键字)
- 非叶子结点的关键字个数=指向儿子的指针个数-1;
- 非叶子结点的关键字

本文详细介绍了B-树、B+树和B*树的定义、特点、用途及优缺点。B-树是一种平衡的多路搜索树,B+树的所有数据都在叶子节点,适合文件系统和数据库索引。B*树在B+树基础上增加了指向兄弟节点的指针,提高了空间利用率。
最低0.47元/天 解锁文章
1008

被折叠的 条评论
为什么被折叠?



