【问题标题】:Implementation of B+ treeB+树的实现
【发布时间】:2013-10-08 15:57:29
【问题描述】:

我正在尝试实现 B+ 树。到目前为止,我有叶节点、根节点、内部节点类。在我的前导节点类中,我有一个键列表和一个值列表。我的问题是,我可以使用映射配对键来代替值和键的列表吗?如果不是,你能解释一下原因吗?

【问题讨论】:

  • 用 B+Tree 实现的地图?
  • 我正在尝试实现搜索。一旦找到匹配的键,我想返回值。我怎么做?我可以在节点类中存储一个映射,将键映射到值吗?或者我需要一个值的数组列表?

标签: implementation


【解决方案1】:

通常您会从较低级别的数据结构构建 B+树。

地图通常以树本身的形式实现,所以如果您已经有了地图,为什么还要实现 B+Tree?

即使使用列表也不合适...... B+ 页面应该只使用数组(或者甚至更好的用于分配数组的原始字节)来实现。

【讨论】:

  • 通常在 B+ 中间页面中,您有 n 键和 n+1 指向其他页面的指针,在叶页面中,您有 n 键和 n 值。
  • 使用间隙缓冲区技术管理 B+-Tree 页面中的数组(查找它)是一个很好的优化,如果您希望执行许多顺序插入,则可能需要实现。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-24
  • 2012-12-12
  • 2013-12-17
  • 1970-01-01
  • 2011-02-06
相关资源
最近更新 更多