Bツリー定義 では、「順序」という用語を使用します。
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.
それで、彼らは同じものですか?違いは感じません。
Degree
は、Bツリーのノードが持つことができる子の数の下限を表します(ルートを除く)。つまり、可能な最小の子供の数。一方、Order
は子の数の上限を表します。すなわち。可能な最大数。
B Orderに関するBツリープロパティ
NOTE
: ウィキペディアにもこれらが記載されています
次数に関するBツリープロパティ
NOTE
:These can also be found in the CLRS book
Bツリーの一般的な定義は2つあります。
Knuth orderとCLRS度メジャーの両方:最小<=子<= 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
主な類似点/相違点:
どちらの定義でも、キーの数は子の数と等しい場合ですマイナス1 。したがって、Knuth OrderとCLRS度の両方が、技術的には最小値と最大値もカウントします keys –同時に最小値と最大値をカウントします children 。
Knuthの定義では、ツリー(min、max)が許可されます。ここで、max anは odd integer ですが、CLRSの定義では無視されます。 (t、2t-1)という形式のツリーはCLRSの定義では無効です。たとえば、(min、max)=(5,9)のツリーはKnuthの定義では有効ですが、CLRSの定義では無効です。
興味深いもの:
Bツリーは特定のタイプのツリーで、ノードごとに最大数の子があります。 Bツリーのorderが最大です。たとえば、バイナリ検索ツリーの順序は2です。
nodeのdegreeは、その子の数です。したがって、Bツリーのすべてのノードの次数は0以上で、Bツリーの次数以下です。
ツリーには、ノードに次数があることを除いて、「次数」はありません。したがって、ツリーには最大次数と最小次数があり、ノードの最大次数と最小次数を参照します。
同様の質問 ここ 。
お役に立てば幸いです。