面试题:什么叫B树
2016-04-15 20:13
337 查看
B是balanced的意思
是在二叉查找树 树的基础上增加了平衡的性质 导致它不是 二叉树了,变成了多叉树,但是叉几路又有了限制 否则怎么平衡呢
一棵m阶B树(balanced tree of order m)是一棵平衡的m路搜索树。它或者是空树,或者是满足下列性质的树:
1、根结点至少有两个子女;
2、每个非根节点所包含的关键字个数 j 满足:┌m/2┐ - 1 <= j <= m - 1;(这是百度词条上给出的,应该说在第几层就最多只有m个孩子,容易理解,其中m>=2;如果是最少的话,应该是m/2取上限)
3、除根结点以外的所有结点(不包括叶子结点)的度数正好是关键字总数加1,故内部子树个数 k 满足:┌m/2┐ <= k <= m ;
4、所有的叶子结点都位于同一层。
是在二叉查找树 树的基础上增加了平衡的性质 导致它不是 二叉树了,变成了多叉树,但是叉几路又有了限制 否则怎么平衡呢
一棵m阶B树(balanced tree of order m)是一棵平衡的m路搜索树。它或者是空树,或者是满足下列性质的树:
1、根结点至少有两个子女;
2、每个非根节点所包含的关键字个数 j 满足:┌m/2┐ - 1 <= j <= m - 1;(这是百度词条上给出的,应该说在第几层就最多只有m个孩子,容易理解,其中m>=2;如果是最少的话,应该是m/2取上限)
3、除根结点以外的所有结点(不包括叶子结点)的度数正好是关键字总数加1,故内部子树个数 k 满足:┌m/2┐ <= k <= m ;
4、所有的叶子结点都位于同一层。
除根结点和叶子结点外,其它每个结点至少有[ceil(m / 2)]个孩子(其中ceil(x)是一个取上限的函数,最屁也是2个孩子);
相关文章推荐
- Java线程面试题 Top 50
- 职场新人的心灵汤药
- 面试题:单链表反转
- 最近的面试总结
- 面试题:快排和归并都是基于什么思想的
- 面试题:程序运行时内存分配原理
- 剑指offer之面试题7:用两个栈实现队列
- 面试题07_用两个栈实现队列——剑指offer系列
- 程序员的激情其实是一种痛苦
- 程序员的激情其实是一种痛苦
- 面试题:android的安全机制有哪些
- 面试题:android用户注册代码 密码需要加密传输吗
- 面试题:java中String为什么要设置成final
- 让非程序员感到神奇的程序员技能
- iOS面试题
- 剑指offer 面试题4: 替换空格 题解
- 一个优秀的程序员应该如何提高工作效率?
- 第四次职业生涯规划作业
- 面试题怎么将二叉树转化为链表
- [转] 一个优秀的程序员应该如何提高工作效率?