【发布时间】:2011-02-05 20:04:15
【问题描述】:
在这棵 B+ 树中,5 出现了两次。
【问题讨论】:
-
3 也出现了两次,但 7 没有。这是为什么呢?
标签: b-tree
在这棵 B+ 树中,5 出现了两次。
【问题讨论】:
标签: b-tree
来自Wikipedia:
在 B+ 树中,与 B-tree 相比,所有记录都存储在树的叶级;只有键存储在内部节点中。
非叶子节点中的每个键都必须在其中一个子节点中重复,依此类推,直到它们到达叶子节点,因为这是存储数据的地方。在 B 树中,数据可以存储在非叶节点中,因此无需在树的下方重复键。
如果您注意到,键 3 在 B+ 树的图中也出于相同的原因重复 - 数据不能存储在根节点中。它必须存储在子节点中,它是一个叶子节点。
【讨论】:
B+ 树与 B 树的区别在于所有记录都出现在叶节点中。这就是为什么 5 出现在底行的原因。
在 B+ 树(如 B 树)中,键出现在叶子上方的节点中,以便可以找到记录。这就是为什么 5 出现在倒数第二行的原因。
所以 5 出现了两次。一次用于查找记录,一次用于记录本身。
【讨论】:
来自Wikipedia:
它是一个动态的、多级索引,每个索引段(通常称为“块”或“节点”)中的键数有最大和最小界限。在 B+ 树中,与 B 树不同,所有记录都存储在树的叶层;只有键存储在内部节点中。
顶部的3和5是索引键,指出每个块中的最大键。
【讨论】: