B树中的节点数

时间:2014-10-07 14:09:46

标签: data-structures b-tree

如果我按顺序从1到n插入数字,得到的B树(最小度数2)有多少个节点?

我尝试从1到20插入节点,有一系列节点的数量,但我无法概括它。

任何人都可以帮助我推导出这个公式。

1 个答案:

答案 0 :(得分:1)

这将取决于B树的顺序。 BTree的顺序是非叶节点可以保持的子节点的最大数量(这比节点可以容纳的最小密钥数量多一个)。

根据Knuth的定义,m阶的B树是满足以下属性的树:

  1. 每个节点最多只有几个孩子。
  2. 每个非叶子节点(根除外)至少有⌈m2⌉个孩子。
  3. 如果根不是叶节点,则根至少有两个子节点。
  4. 具有k个子节点的非叶子节点包含k-1个键。
  5. 所有叶子都出现在同一级别,内部顶点不带任何信息。
  6. 因此,如果您在订单为m时插入20个密钥,那么根据上述条件,您可以导出一组描述m的可能值的不等式。但是没有相等的公式表示B树中的内部节点数。