【问题标题】:What are the differences between B-tree and B*-tree, except the requirement for fullness?B-tree和B*-tree有什么区别,除了对fullness的要求?
【发布时间】:2011-09-05 06:01:01
【问题描述】:

我知道this 的问题,但它是关于B-treeB+-tree 的。抱歉,如果 B*-tree 有类似的,但我找不到。


那么,这两棵树有什么区别呢?关于B*-treeswikipedia article 很短。

唯一的区别是"non-root nodes to be at least 2/3 full instead of 1/2"。但我想还有更多......可能只有一种树 - B-tree,只是具有不同的常量(对于每个非根节点的完整性),并且没有两个不同的树,如果这是唯一的区别对吧?

另外,还有一件事让我对更多的差异产生了兴趣:

"A B*-tree should not be confused with a B+ tree, which is one where the 
leaf nodes of the tree are chained together in the form of a linked list"

所以,B+-tree 有一些非常具体的东西——链表。 B*-tree的具体特点是什么,还是没有?


此外,维基百科的文章中没有任何外部链接/参考。有资源吗?文章、教程之类的?

谢谢!

【问题讨论】:

  • “不是一个真正的问题”?这里的“不真实”部分是什么?
  • 你能提供一些背景信息吗?如果关于 B*-trees 的信息如此之少,您是如何对它们产生兴趣的? a) 出于好奇,但也 b) 因为它可以帮助人们思考正确的方向
  • 我没有说过“关于 B*-trees 的信息太少了”。简短的维基百科文章并不意味着网络中没有信息并且这些树是不熟悉的。另外,我不认为我对 B*-trees 感兴趣的原因很重要.. :) 无论如何。我只是在学习高级数据结构,除了不同的丰满度之外,我没有注意到任何其他差异。我想寻求帮助 :) 我们就是为此而来的,对吧?
  • 并不是要批评您所问的事实。只是有直觉,如果有一个特定的用例,你可能会得到额外的答案。经常发生在我身上:“不知道那是什么……哦,这就是他在说什么”。没关系:)
  • 你是对的,但没有——没有其他信息。只是出于好奇(:

标签: algorithm data-structures b-tree


【解决方案1】:

也许您应该看看 Comer 的 Ubiquitous B-Tree(ACM 计算调查,1979 年)。

Comer 在那里写了一些关于 B*Tree 的内容(在 B-Tree 及其变体部分)。在该部分中,他还引用了有关该主题的更多论文。这应该可以帮助您自己进行进一步的调查:)! (我不是你的研究员;))

但是,我不明白您在哪里引用了 B*Tree 在叶节点级别没有链表的部分。我很确定,这些节点也链接在一起。

关于只有一个 B-Tree。事实上,你有那个。其他的如 B+Tree、Prefix B+Tree 等只是标准 B-Tree 的变体。看看论文 Ubiquitous B-Tree。

【讨论】:

  • 还没有。 +1 来自我的指向我的论文。我以后会读它,因为我现在不能。不,我在这里发帖不是为了找一个“研究人员”,只是为了让别人给我指出一些论文/教程/实现/等,正如我在我的问题中已经指出的那样;)
【解决方案2】:

已编辑 除了最小没有区别。填充因子。

第 #489 页

从上面的书中,

B*-是B树的变种,要求每个内部节点至少有2/3满,而不是至少半满。

Knuth 还定义了完全一样的 B* 树(计算机编程的艺术,第 3 卷)。

The Ubiquitous B-Tree”在B*-上有一个完整的小节。在这里,Comer 将 B*-tree 树与 Knuth 和 Corment 等人的定义完全相同。做,但也澄清了混淆的来源 --B*-tree 树搜索算法和 Knuth 设计的一些未命名的 B 树变体,它们是现在称为 B+-

【讨论】:

  • 请至少简要解释一下那里的内容,否则答案对没有这本书的人没有用
  • @Simon:也就是说,这是一本很棒的书,尽管数学有时令人生畏
  • 我问的是 B*,而不是 B+;p
  • 谢谢,现在你得到我的 +1 (:
  • @Monster 卡车:+1。感谢您抽出宝贵的时间!这是 SO 社区按预期工作的一个很棒的例子:D
猜你喜欢
  • 1970-01-01
  • 2017-03-02
  • 2010-10-20
  • 2013-03-24
  • 1970-01-01
  • 2013-06-26
  • 2015-02-24
  • 2012-07-03
  • 1970-01-01
相关资源
最近更新 更多