【问题标题】:Structure of B+ treesB+树的结构
【发布时间】:2015-07-17 16:03:04
【问题描述】:

根据 B+ 树的特性,除根外的每个节点都必须至少填充一半。 但是假设我们有一个 B+ 树,其节点最多可以容纳 3 个 KEYS。那么 B+ 树的一个节点中应该有多少条目(不是指针)的最小数量。是 2或 1? 根据第一个图中的http://www.cburch.com/cs/340/reading/btree/index.html,它在根的右孩子中只有一个条目(16)。

.

【问题讨论】:

  • 很高兴看到人们认真对待算法的不变量 (+1)

标签: b-tree


【解决方案1】:

那么在 B+ 树的一个节点中应该有多少条目(不是指针)。是 2 还是 1?

1 ("每个非叶非根节点至少有 floor(d / 2) 个子节点。") => 2 个子节点 => 1 个键

这实际上不是真实的图片。 B+ 树是为工作而设计的 磁盘(要存储在文件中),因此每个树节点将使用一个磁盘块或 磁盘块大小的倍数。在正常情况下,B+ 树的节点为 for 例如 100 个键。 (但是用小尺寸树来解释算法要容易得多)。

感谢您提供出色的 B+ 树参考。

【讨论】:

  • 但是它如何确保一个节点至少有一半被填充
  • 通常我声明“半满”适用于“指针”。事实上,我用奇数 k 填充更舒服。对于非常大的 k,问题“消失”。有许多 B+ 树的变体使用略有不同的不变量。
猜你喜欢
  • 2021-07-18
  • 2012-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-25
  • 1970-01-01
  • 2012-04-30
  • 2014-09-20
相关资源
最近更新 更多