14分析4
来源:互联网 发布:西门子plc编程基本训练 编辑:程序博客网 时间:2024/06/06 01:40
9.B树就是B-树,B+树是B树的一种变形
B-树
是一种多路搜索树(并不是二叉的),一颗m阶的B-树,或为空树,或者:
1.定义任意非叶子结点最多只有M个儿子;且M>2;
2.根结点的儿子数为[2, M];
3.除根结点以外的非叶子结点的儿子数为[M/2, M];
4.每个结点存放至少M/2-1(取上整)和至多M-1个关键字;(至少2个关键字)
5.非叶子结点的关键字个数=指向儿子的指针个数-1;
6.非叶子结点的关键字:K[1], K[2], …, K[M-1];且K[i] < K[i+1];
7.非叶子结点的指针:P[1], P[2], …, P[M];其中P[1]指向关键字小于K[1]的子树,P[M]指向关键字大于K[M-1]的子树,其它P[i]指向关键字属于(K[i-1], K[i])的子树;
8.所有叶子结点位于同一层;
B+树
B+树是B-树的变体,也是一种多路搜索树:
1.其定义基本与B-树同,除了:
2.非叶子结点的子树指针与关键字个数相同;
3.非叶子结点的子树指针P[i],指向关键字值属于[K[i], K[i+1])的子树(B-树是开区间);
5.为所有叶子结点增加一个链指针;
6.所有关键字都在叶子结点出现;
关键字数量不变,要求结点数量最多,那么即每个结点中含关键字的数量最少。根据 4 阶 B 树的定义,根结点最少含 1 个关键字,非根结点中最少含?4/2?-1=1 个关键字,所 以每个结点中,关键字数量最少都为 1 个,即每个结点都有 2 个分支,类似与排序二叉树, 而 15 个结点正好可以构造一个 4 层的 4 阶 B 树,使得叶子结点全在第四层,符合 B 树定义
B-树
是一种多路搜索树(并不是二叉的),一颗m阶的B-树,或为空树,或者:
1.定义任意非叶子结点最多只有M个儿子;且M>2;
2.根结点的儿子数为[2, M];
3.除根结点以外的非叶子结点的儿子数为[M/2, M];
4.每个结点存放至少M/2-1(取上整)和至多M-1个关键字;(至少2个关键字)
5.非叶子结点的关键字个数=指向儿子的指针个数-1;
6.非叶子结点的关键字:K[1], K[2], …, K[M-1];且K[i] < K[i+1];
7.非叶子结点的指针:P[1], P[2], …, P[M];其中P[1]指向关键字小于K[1]的子树,P[M]指向关键字大于K[M-1]的子树,其它P[i]指向关键字属于(K[i-1], K[i])的子树;
8.所有叶子结点位于同一层;
B+树
B+树是B-树的变体,也是一种多路搜索树:
1.其定义基本与B-树同,除了:
2.非叶子结点的子树指针与关键字个数相同;
3.非叶子结点的子树指针P[i],指向关键字值属于[K[i], K[i+1])的子树(B-树是开区间);
5.为所有叶子结点增加一个链指针;
6.所有关键字都在叶子结点出现;
关键字数量不变,要求结点数量最多,那么即每个结点中含关键字的数量最少。根据 4 阶 B 树的定义,根结点最少含 1 个关键字,非根结点中最少含?4/2?-1=1 个关键字,所 以每个结点中,关键字数量最少都为 1 个,即每个结点都有 2 个分支,类似与排序二叉树, 而 15 个结点正好可以构造一个 4 层的 4 阶 B 树,使得叶子结点全在第四层,符合 B 树定义
0 0
- 14分析4
- linphone 分析4 接电话分析
- android properties分析(4) property_service 分析
- owncloud源码分析4--上传代码分析
- ESock_Clien 14 原因分析
- Leveldb源码分析--14
- 14分析1
- 14分析2
- 14分析3
- 14分析6
- 14分析5
- Leveldb源码分析--14
- CASSINI源代码分析(4)
- Petshop 4 分析
- Petshop 4 分析汇总
- 可执行文件分析(4)
- 8.3.4 代码分析
- Fortify分析翻译4
- SVN迁移update地址更换
- 美女主播患癌去世 为生宝宝放弃化疗
- 性能测试中的nnmon使用
- Excel表格定义某行的格式类型和设置下拉框
- Notes on Transfer Learning
- 14分析4
- 解决eclipse下面 LOG有时无法打印的问题
- MK文件编写
- 深入研究Servlet线程安全性问题
- 阿凡题——智慧的背囊
- 大型金融组织的scrum实践
- 不同编程项目,需要不同的知识,整体呢,思路差不多
- java nio
- nil Nil NULL NSNull 之间的区别