数据结构 B树

Posted masterchd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构 B树相关的知识,希望对你有一定的参考价值。

B树

tips:floor向上取整


B树的定义

B树,又称多路平衡查找树,B树中所有结点孩子结点数的最大值称为B树的阶,通常用m表示。

一棵m阶B树或者空树,或为满足以下条件的m叉树:

  1. 树中每个结点最多有m棵子树(即最多有m-1个关键字)
  2. 若根节点不是终端结点,那么最少有两颗子树
  3. 除根节点之外的所有非叶结点至少有floor[m/2]棵子树(即最少有floor[m/2] - 1个关键字)

B树的高度

若n≥1,则对任意一棵包含n个关键字,高度为h,阶数为m的B树

  1. 因为B树每个结点最多有m 棵子树,m-1个关键字,所以在一棵高度为h的m阶B树中关键字的个数应该满足
    技术图片
    ,因此有

? 技术图片

  1. 若让每个结点中的关键字个数达到最少,则容纳同样多关键字的B树高度达到最大。由B树的定义可知,第一层至少有1个结点;第二层至少有2个结点,除了根节点之外的所有非叶结点至少有floor[m/2]棵子树,第三层至少有2*floor[m/2]个节点,以此类推,注意到第h+1层节点是不包含任何信息的叶节点。对于关键字个数为n的B树,叶节点即查找不成功的节点为n+1,因此有 技术图片
    ,即

    ? 技术图片

以上是关于数据结构 B树的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法:树 2-3树,2-3-4树,B树 B+树 B*树 (了解)

数据结构B树或者B+树怎么构造 求告知

数据结构——二叉搜索树B树B-树

面试问题之数据结构与算法:B树B+树B*树

数据结构与算法17—B树(BB+B*)

一文完全搞懂B树B-树B+树