考虑以下 B 树和 B+ 树的数据,
Block size is 8 KB,
Data pointer is 10 B,
Block pointer is of 15 B and
key size is 10 B
以下哪个选项是正确的?
注意 –此问题是多选题 (MSQ)。
(A) B-tree的叶子节点最大阶数为230
(B) B+树(Q)的叶节点最大阶数为405
(C) B-tree(P)叶节点最大阶数与B+树(Q)叶节点最大阶数之差-175
(D)所有这些都是正确的。答案: (C)
解释:
鉴于,
Block size = 8 KB,
Data pointer or record pointer = Rp = 10 byte
Block pointer or child pointer = Bp = 15 byte
Key size/pointer = Kp = 10 byte
由于,B树的叶节点的最大阶数(P)由公式给出:
P(Bp) + (P-1)*(Kp + Rp) ≤ Block size
P(15) + (P-1)*(10+10) ≤ 8 KB
15P + 20P - 20 ≤ 8*1024
35P ≤ 8192+20
35P ≤ 8212
35P ≤ 8212/35
P ≤ 234.63
P = 234
取下限最大值。
并且,B+树的叶节点的最大阶数(Q)由公式给出:
(Q-1)*(Kp + Rp) + (Bp) ≤ Block size
(Q-1)*(10+10) + 15 ≤ 8 KB
20Q - 20 + 15 ≤ 8*1024
20Q - 5 ≤ 8192
20Q ≤ 8192+5
Q ≤ 8197/20
Q ≤ 409.85
Q = 409
取下限最大值。
因此 P – Q = 234 – 409 = -175
所以,只有选项(C)是正确的。这个问题的测验
如果您发现上面的帖子有任何错误,请在下面评论