【问题标题】:Difference between B-Trees and 2-3-4 TreesB树和2-3-4树的区别
【发布时间】:2011-02-04 04:17:58
【问题描述】:

B-Trees 和 2-3-4 Trees 有什么区别?

另外,你如何找到每个的最大和最小高度?

【问题讨论】:

标签: data-structures tree theory b-tree


【解决方案1】:

...Wikipedia 的链接引用:

“2-3-4 树是 4 阶的 B-树。”

2-3-4 是一个 B-tree
它被称为 2-3-4 树,因为非叶非根节点的子节点数为 2,3 或 4。
如果是 6,则可以称为 3-4-5-6 树,或简称为 3-6 树。
由于最小子节点数是最大子节点数的一半,因此通常可以跳过前者并讨论顺序为 m 的 B-tree。
B 树的顺序定义为一个节点可以拥有的最大子节点数。
如我们所见,在 2-3-4 树中,最大值为 4。

general formula for B-trees 给出了最坏和最好的高度。

最佳情况:logmn。 (所有节点都已满)
最坏情况:logm/2n。 (所有节点都是半空的)

在哪里

  • m 是树的顺序 - 一个节点可以拥有的最大子节点数,在本例中为 4 - 和
  • n 是树中的条目数

“B 树可以有任意数量的顺序” - 是的,但是对于 B 树的特定子类,您需要提前确定该数量。这就像谈论一般的蝴蝶与谈论Monarch butterfly。 B树是一类数据结构,就像蝴蝶是一类昆虫一样。 Monarch butterflies 是蝴蝶的子类,就像 2-3-4 树是 B 树的子类一样。

【讨论】:

    【解决方案2】:

    b-tree之所以存在的主要区别是插入时所需的节点分裂数量少于2-4棵树。在 2-4 树中我们有时会发现一个称为级联分裂的术语,但在 b-tree 中不存在级联分裂。

    【讨论】:

    猜你喜欢
    • 2016-03-16
    • 2011-02-18
    • 2012-01-22
    • 2014-04-03
    • 1970-01-01
    • 2011-05-02
    • 1970-01-01
    • 2016-06-27
    • 1970-01-01
    相关资源
    最近更新 更多