プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

m-aryツリー


コンピュータサイエンスのm-aryツリーは、通常、次のように階層的に表されるノードのコレクションとして定義されます。

  • ツリーはルートノードで開始されます。
  • ツリーの各ノードは、その子ノードへのポインタのリストを維持します。
  • 子ノードの数がm以下です。

m-aryツリーの一般的な表現は、子を格納するためにm個の参照(またはポインター)の配列を実装します(mは子の数の上限であることに注意してください)。

m-way探索木

a。空または

b。 b(1 <=b

m-aryツリー

m-aryツリーの画像

n個のノードに関連付けられた完全なm-aryツリーの高さはceiling(log m n)。

次数mのBツリーはm-wayツリーであり

a。すべての葉は同じレベルにある必要があります

b。ルートとリーフを除くすべてのノードには、最小m/2の子と最大mの子があります。ルートには、最小で2つの子、最大でmの子があります。


  1. データ構造の仮想ツリーでのスプレー

    仮想ツリーでは、一部のエッジは実線として扱われ、一部は破線として扱われます。通常のスプレイは、堅い木でのみ実行されます。仮想ツリーのノードyで表示するには、次の方法を実装します。 アルゴリズムは、パスごとに1回ずつ、ツリーを3回調べ、それを変更します。最初のパスでは、ノードyから開始して、ソリッドツリーのみでスプレイすることにより、yからツリー全体のルートへのパスが破線になります。このパスは、スプライシングによって確実に作成されます。ノードyでの最後のスプレイにより、yがツリーのルートになります。非公式ではありませんが、アルゴリズムは次のように説明されています Splay(y)のアルゴリズ

  2. 多方向ツリー

    マルチウェイツリーは、3つ以上の子を持つことができるツリーとして定義されます。マルチウェイツリーが最大m個の子を持つことができる場合、このツリーは次数mのマルチウェイツリー(またはmウェイツリー)と呼ばれます。 調査された他のツリーと同様に、m-wayツリーのノードはm-1キーフィールドと子へのポインタで構成されます。 次数5の多元ツリー m-wayツリーの処理を容易にするために、ある種の制約または順序が各ノード内のキーに課され、順序mの多方向検索ツリー(またはm-way検索ツリー)が生成されます。定義上、m-way探索木は、次の条件を満たす必要があるm-wayツリーです- 各ノ