在计算机程序设计的艺术,在第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)级节点的意义是什么?
答案 0 :(得分:0)
具有 k 键的分支节点具有 k + 1个子节点。因此,无论多少节点都在级别 l - 1上,级别 l 上必须有更多节点。
所以 N + 1(级别 l 上的节点数)大于级别 l - 1上的节点数。显然,级别 1 - 1上的实际节点数大于或等于级别 l 上的最小节点数 - 1。所以 N +1≥2⌈ /2⌉ l - 1 。