回答:
ツリーの次数はグラフ理論でもデータ構造でも標準的な用語だとは思いません。次数は通常、グラフのノード/頂点のプロパティであり、入射エッジの数を示します。木の場合、子供たちの縁だけを考えることもあります。
「最小次数が2のBツリー」とは、すべてのノードに少なくとも2つの子があることを意味します。言い換えれば、それは子供の数の下限です。一方、Bツリーの次数は最大ノード次数を示すため、上限です。
BSTノードには1つしか含まれていませんが、Bツリーノードには複数のキー値を含めることができます。ノードに含めることができるキーの数には、上限と下限があります。これらの境界は、Bツリーの最小次数t>=2
と呼ばれる固定整数で表すことができます。
t-1
キーが必要です。したがって、ルート以外のすべての内部ノードには少なくともt
子があります。2t-1
キーを含めることができます。したがって、内部ノードは多くても2t
子を持つことができます。正確にキーが含まれている場合、ノードはいっぱいであると言い2t-1
ます。クリックしてください。このリンクを Bツリーとの優れた基本持つように、このリンクをフォローアップし、Bツリー操作の最も簡単に書かれたアルゴリズムのため。
これまでに、Bツリーを特徴付ける3つの方法を見てきました。
Bツリーの程度 (CLRSのようにいずれかの最小値、アルゴリズムのような本、または最大Bツリービジュアライザ)。
最も単純なBツリーは、ときに発生します。すべての内部ノードには2、3、または4つの子があり、2-3-4ツリーがあります。
Nasirの回答で参照されているテキストは、アルゴリズムに示されているBツリーの定義に厳密に従っており、最小次数プロパティの詳細な説明が付いています。
とU内のノードを有する(例えば、Bツリーを有するようになっている子供の数の下限(上)とパラメータ、L = 3 、U = 6を有するBツリーに相当するTが= 3(両方とも2せる–ノードあたり5つのキー)、
Bツリーの順序 にクヌースによって与えられ、TAOCP、巻。3任意の内部ノードとの間に有するように⌈ Mとm個の子どもたち。
要約すると:
OPの質問の2番目の部分に関して、アルゴリズムの定理18.1があります。
BツリーのOrder(m)は、(最大および最小)番号を定義します。特定のノードの子の。
BツリーのDegree(t)は、(最大および最小)いいえを定義します。特定のノードのキーの。次数は、Bツリーの最小次数として定義されます。
次数mのBツリー:ルートを除くすべての内部ノードには、最大でm個の空でない子と少なくとも⌈m/2⌉個の空でない子があります。
(最小)次数tのBツリー:
Degree
Bツリーのノードが持つことができる子の数の下限を表します(ルートを除く)。つまり、可能な最小の子供の数。一方、Order
は子供の数の上限を表します。すなわち。可能な最大数。
順序に関するBツリープロパティ
NOTE
:ウィキペディアもこれらを述べています
次数に関するBツリープロパティ
NOTE
: These can also be found in the CLRS book
次数5またはm = 5のBツリー
最大子供数= 5
最小子供= ceil(m / 2)= 3
次数5のBツリーOR t = 5
最大キー= 2t-1
最小キー= t-1
Bツリーの用語はどこで読んでも一律に定義されていませんが、あいまいな質問はBツリーの順序は何ですか?Bツリーの次数についてはそれほどではありません。次数は、そのノードの次数と次数の合計としてそれを述べるグラフ理論に由来します。
これにより、次数は、ノード内のキー値の代わりにBツリーノードが持つことができるポインター/子の数とより密接に関連していると推測できます。
KnuthとMichael J. Folkによると、m次のBツリーは、すべてのノードが最大でm個の子を持つツリーです。したがって、非常に漠然と、Bツリーのコンテキストではどちらも多かれ少なかれ同等の用語であると言えます。
Degree
子の数の下限を表します。つまり、可能な最小数。一方、Order
は子供の数の上限を表します。すなわち。可能な最大数。ありがとう。