【发布时间】:2011-02-04 04:17:58
【问题描述】:
B-Trees 和 2-3-4 Trees 有什么区别?
另外,你如何找到每个的最大和最小高度?
【问题讨论】:
-
我只能添加一个维基百科的链接:en.wikipedia.org/wiki/2-3-4_tree
-
不是作业,个人修改。
标签: data-structures tree theory b-tree
B-Trees 和 2-3-4 Trees 有什么区别?
另外,你如何找到每个的最大和最小高度?
【问题讨论】:
标签: data-structures tree theory b-tree
...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。 (所有节点都是半空的)
在哪里
“B 树可以有任意数量的顺序” - 是的,但是对于 B 树的特定子类,您需要提前确定该数量。这就像谈论一般的蝴蝶与谈论Monarch butterfly。 B树是一类数据结构,就像蝴蝶是一类昆虫一样。 Monarch butterflies 是蝴蝶的子类,就像 2-3-4 树是 B 树的子类一样。
【讨论】:
b-tree之所以存在的主要区别是插入时所需的节点分裂数量少于2-4棵树。在 2-4 树中我们有时会发现一个称为级联分裂的术语,但在 b-tree 中不存在级联分裂。
【讨论】: