有什么区别btw" Order"和" Degree"就树数据结构而言

时间:2015-03-04 03:51:12

标签: data-structures tree terminology

B-Tree Definition 他们使用“订单”一词:

According to Knuth's definition, a B-tree of order m is a tree which satisfies the following properties:

1. Every node has at most m children.
...

和'Degree'在Tree terms中定义为:

Degree – number of sub trees of a node.

所以,他们是一样的吗?我感觉不到任何区别。

3 个答案:

答案 0 :(得分:8)

Degree表示B树中节点可以拥有的子节点数的下限(根除)。即可能的最小孩子数。而Order代表儿童数量的上限。即。可能的最大数量。

关于订单的B树属性

B Tree properties with respect to the order.

NOTEWikipedia also states these

关于学位的B树属性

B Tree Properties with respect to Degree

NOTEThese can also be found in the CLRS book

答案 1 :(得分:3)

B树是一种特定类型的树,除其他外,每个节点具有最大子节点数。 B树的顺序是最大值。例如,二进制搜索树的顺序为2.

节点的 是它拥有的子节点数。因此,B树的每个节点都具有大于或等于零且小于或等于B树顺序的度数。

树没有“度”,除了它的节点有度。因此,树具有最大程度和最小程度,指的是其节点的最大和最小程度。

类似问题here

我希望有所帮助!

答案 2 :(得分:1)

B树有两种流行的定义:

  • Knuth Order 订单)由Knuth的定义使用
  • CLRS学位学位)用于 Cormen et al 算法入门中的定义( CLRS)

Knuth order CLRS学位测量: min< = children< = max ,最小和最大子项, ( min max ),允许树中的每个内部节点拥有。两个定义都同意 min 不能 max / 2

Knuth Order, k |  (min,max)  | CLRS Degree, t
---------------|-------------|---------------
     0         |      -      |        –
     1         |      –      |        –
     2         |      –      |        –
     3         |    (2,3)    |        –
     4         |    (2,4)    |      t = 2
     5         |    (3,5)    |        –
     6         |    (3,6)    |      t = 3
     7         |    (4,7)    |        –
     8         |    (4,8)    |      t = 4
     9         |    (5,9)    |        –
     10        |    (5,10)   |      t = 5

主要相似点/不同点:

  • Knuth顺序k是计算最大子项数的索引。 Kn的k次序意味着每个节点必须具有max = k和min = ceil(k / 2)。例如,(3,6)是Knuth order 6的B树。
  • CLRS学位t是计算最小子女数的指数。 CLRS度t表示每个节点必须具有min = t和max = 2t。例如,(3,6)是CLRS度3的B树
  • 在两个定义中,min = ceil(max / 2)和max = 2 * min。
  • 在两个定义中,键的数量等于子项数减去一个的情况。因此,Knuth顺序和CLRS程度在技术上也计算最小和最大 - 以及同时计算最小和最大子项

  • Knuth的定义允许树(min,max),其中max an是奇数整数,但CLRS的定义忽略了它们。 CLRS的定义中任何形式的树(t,2t-1)都是无效的。例如,具有(min,max)=(5,9)的树通过Knuth的定义是有效的,但是通过CLRS的定义无效。

有趣的旁白:

  • 这两个定义都包括2-3-4 trees,它们是具有(min,max)=(2,4)的树。它是一个B树,其中Knuth顺序为k = 4,它是一个CLRS B树,其度为t = 2.这些树与Red-Black Trees密切相关。
  • 只有Knuth的定义包括2-3 trees,其中(min,max)=(2,3)。 2-3树是具有Knuth顺序k = 3的Knuth B树。它不是有效的CLRS B树。遗憾的是,CLRS不包含此树,因为它们与AA trees密切相关。