计算B-Tree和B + -Tree的顺序有何不同?

时间:2013-11-03 00:24:58

标签: data-structures b-tree

我有这个简单的问题

Calculate the order p of a B+ tree if B=512, V=9B, Pr=7B and P=6B.

我认为答案是

6p + (p - 1) * 9 < 512

忽略Pr

但如果更改问题是计算 B-Tree 的顺序p,其中B,Pr,P和B的值相同,那么我认为答案应为

6p + (p - 1) * (9 + 78) < 512

我对此是否正确?

1 个答案:

答案 0 :(得分:0)

每个B树节点最多可以有p个树指针,p-1个数据指针和p-1个搜索关键字段值。如果所需的B树节点必须对应于磁盘块,则它们必须适合单个磁盘块。

计算p:

6p+(p-1)*(9 + 7) <= 512
6p + 9p + 7p -9 – 7 <= 512
22p – 16 <= 512
22p <= 528
p <= 24

虽然p最多可以是24,但我们选择p = 23,因为B树节点可能包含用于操作树的其他信息,例如节点中的条目数 q ,以及指向父节点的指针,因此在我们计算上面的p之前,应该首先减小块大小所需的额外空间量。