B+ 树序 1 & 2
B+ Tree order of 1 & 2
我对在顺序为 1 和顺序为 2 的 B+ 树中插入的最大和最小键数感到困惑。
在我看的视频里说一个节点(根节点除外)最多可以插入的键数最少为m,最多为2m(假设m是顺序)。
根据这 2 个陈述,B+ 树中要插入的键的最小和最大数量是多少,顺序为 1 和顺序为 2?我不确定上面的两个陈述是否冲突,或者我误解了什么。任何想法?
在没有参考视频的情况下,他们似乎使用了术语 order 的 non-standard 定义,这就是造成混淆的原因。
树的阶的标准定义是最大分支因子,即一个节点可能具有的最大children数。因此,在该定义中,它不是最小值,而是最大值,并且与键[=]的数量无关=48=],但是大约有children.
个数
视频的定义是最大键数总是偶数,而实际上并没有这样的要求。 B+树的最大分支因子很可能是偶数,使得最大键数为奇数。
使用术语 order 的标准定义,我们特别为 B+ 树设置了这些约束:
- 它的内部节点最多有mchildren。这意味着他们最多有 m - 1 个键。
- 它的内部节点至少有m/2(向上取整)children,除了根:
- 如果它的根不是叶子,它可能只有 2 个 children。
- 其叶子包含实际数据值。
这是一个 4 阶 B+ 树示例(标准定义),它对应于 B+ 树,其中键的数量必须在 1 到 3 之间——这与视频的定义不符:
可以看到,这里一个节点最多可以有4个children,最多3个key。在你的定义中 2m 表示最大键数,顺序实际上是 2m+1。因此,您要求使用 order.
的标准定义来获取 3 阶和 5 阶 B+ 树的示例
这里是阶数 3 的示例——B+ 树的最低可能阶数——这意味着每个节点中的键数必须为 1 或 2:
我对在顺序为 1 和顺序为 2 的 B+ 树中插入的最大和最小键数感到困惑。
在我看的视频里说一个节点(根节点除外)最多可以插入的键数最少为m,最多为2m(假设m是顺序)。
根据这 2 个陈述,B+ 树中要插入的键的最小和最大数量是多少,顺序为 1 和顺序为 2?我不确定上面的两个陈述是否冲突,或者我误解了什么。任何想法?
在没有参考视频的情况下,他们似乎使用了术语 order 的 non-standard 定义,这就是造成混淆的原因。
树的阶的标准定义是最大分支因子,即一个节点可能具有的最大children数。因此,在该定义中,它不是最小值,而是最大值,并且与键[=]的数量无关=48=],但是大约有children.
个数视频的定义是最大键数总是偶数,而实际上并没有这样的要求。 B+树的最大分支因子很可能是偶数,使得最大键数为奇数。
使用术语 order 的标准定义,我们特别为 B+ 树设置了这些约束:
- 它的内部节点最多有mchildren。这意味着他们最多有 m - 1 个键。
- 它的内部节点至少有m/2(向上取整)children,除了根:
- 如果它的根不是叶子,它可能只有 2 个 children。
- 其叶子包含实际数据值。
这是一个 4 阶 B+ 树示例(标准定义),它对应于 B+ 树,其中键的数量必须在 1 到 3 之间——这与视频的定义不符:
可以看到,这里一个节点最多可以有4个children,最多3个key。在你的定义中 2m 表示最大键数,顺序实际上是 2m+1。因此,您要求使用 order.
的标准定义来获取 3 阶和 5 阶 B+ 树的示例这里是阶数 3 的示例——B+ 树的最低可能阶数——这意味着每个节点中的键数必须为 1 或 2: