B +树查找号码oF记录

时间:2016-01-31 05:18:16

标签: database b-tree

最近我在学习期间遇到过像这样的问题

  

5000个密钥所需的B +树和B树索引的最低级别是多少,B +树节点(P)的顺序是10.(假设P是可以存储在B +树节点中的最大指针)

我为Btree计算它恰好是4级。在尝试B +树时,我最终陷入困惑。提到的订单是内部节点顺序还是叶节点顺序。如果它是内部节点顺序,那么如果叶节点的顺序未知,如何计算所需的级别数。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

你是对的,问题应该提到叶节点容量。

无论它是什么 - 让我们称之为L - 所需的叶节点数明显为ceiling(N / L),因为叶节点层必须包含所有数据。如果每个叶节点最多可以容纳10个记录(数据项),那么我们得到的最小叶节点数为500.一旦有了所需数量的叶节点,就可以像往常一样为B计算索引部分所需的高度。 -树。

在我们的例子中,内部节点的最低层(即B +树的索引部分的最底层)需要至少有500个传出指针才能到达每个叶子。 ceiling(log(500)/log(10))为3,它为您提供序列集上方的最小索引级别数。因此,在这种情况下,B +树也至少有4个级别,就像普通的B树一样。