运行时b-tree的上限

时间:2011-10-28 00:32:00

标签: algorithm b-tree taocp

计算机程序设计的艺术,在第485页的底部

  

假设有一个m阶的B树,并且有N个键,所以N + 1个叶子出现在l级。

     

1,2,3级的节点数量至少为2,2 [m / 2],2 [m / 2] ^ 2 ......

(这里[]表示上限)

而Knuth给出了

  

N + 1> = 2 [m / 2] ^(l-1)


我的问题是:

不应该是N + 1> = 2 + 2 [m / 2] +2 [m / 2] ^ 2 + ... + 2 [m / 2] ^(l-1)?< / p>

只考虑第(l-1)级节点的意义是什么?

1 个答案:

答案 0 :(得分:0)

具有 k 键的分支节点具有 k + 1个子节点。因此,无论多少节点都在级别 l - 1上,级别 l 上必须有更多节点。

所以 N + 1(级别 l 上的节点数)大于级别 l - 1上的节点数。显然,级别 1 - 1上的实际节点数大于或等于级别 l 上的最小节点数 - 1。所以 N +1≥2⌈ /2⌉ l - 1