you*_*ang 3 tree terminology data-structures
B-Tree定义 他们使用'order'术语:
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.
...
Run Code Online (Sandbox Code Playgroud)
和'度'在树语中定义为:
Degree – number of sub trees of a node.
Run Code Online (Sandbox Code Playgroud)
所以,他们是一样的吗?我感觉不到任何区别.
Degree表示B树中节点可以拥有的子节点数的下限(根除).即可能的最小孩子数.而Order代表儿童数量的上限.即.可能的最大数量.
B关于订单的树属性
NOTE:维基百科也说明了这些
关于学位的B树属性
NOTE: These can also be found in the CLRS book
B 树有两种流行的定义,其中:
两者Knuth的顺序和CLRS度度量:儿童<=最大最小<= ,最小和最大的孩子,(分钟,最大),树中的每个内部节点被允许具有。两个定义都同意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
Run Code Online (Sandbox Code Playgroud)
主要相同点/不同点:
在这两个定义中,key 的数量等于 child 的数量减去 1。因此,Knuth 阶数和 CLRS 度数在技术上也在计算最小和最大键- 以及同时计算最小和最大子级。
Knuth 的定义允许树 (min,max),其中 max an 是奇数整数,但 CLRS 的定义忽略了它们。根据 CLRS 的定义,任何形式为 (t, 2t-1) 的树都是无效的。例如,具有 (min,max) = (5,9) 的树根据 Knuth 的定义是有效的,但根据 CLRS 的定义无效。
有趣的旁白: