コンピューター, ファイルタイプ
赤黒木:概要、特性
ルドルフ・ベイヤー 1970年代初頭に「赤・黒の木」のシステムを開発しました。 この彼女の名前はGimpas L.とR・セッジウィック与えられました。
どのような赤、黒の木
彼らが、自己均衡バイナリ木の種である単位数の高さのカウントの大きさを提供し、短時間で検索ツリーのプライマリおよび基本的なプロセスを生み出すことに留意すべきです。 このような操作は検索、取得、例外や部位を含みます。 サプリメントのアプリケーションに基づいて提供されてバランスがノード属性の色を示しています。 このプロパティは、可能な概念の一つにとり、これらの色のいずれかを示していました。
最終(シート)の先頭(ルート)から黒分岐内のユニットの数は、ブラックツリーの高さと呼ばれます。
用語の出現
自分の仕事に自動平衡探索木を説明すると、著者は、おそらくそれは新しい用語の創設者になるだろうと仮定していませんでした。 しかし、運命は、印刷インキに2色のみ使用可能であったこと、それを持っているでしょう。 それらが指定され、各ビットは、後続のノードを結合します。
アプリケーション
コンピュータサイエンスでは、赤黒木は耐久性と銘や図形の多様を含むことができる比較可能なデータの形成のために使用されます。
ActionScriptのやPython、C ++、および他のほとんどすべてのプログラミング言語に赤黒ツリーを作成することが可能。 それは非常に簡単です。 ジャワの赤黒木もかなり広まっています。
特長
黒と赤の木々座標系で二分探索木です。 任意のノードでこれらのシステムでは、特定の色値を有します。 これは、上記の名称の一つを取ることができます。 私たちの前に、バイナリツリーに、そして種に使用されているすべての条件に加えて、さらに次の規則を使用しました。
- カラーノードは、排他的に上記二つのうちの一つです。 他のオプションは、それもまた、用語の名前に反映されません。
- ツリーのルートは常に黒く塗られている必要があります。 例外は可能ですが、ルールから、このような逸脱は、自己均衡木道に迷って行くリスクが追加されます。
- すべての葉がゼロ(NIL)の値を持っていると黒でマークされています。
- ケアは、すべての赤のノードの2人の子孫が黒の親であることを注意する必要があります。
- 任意の子ノードシートに特定のノードからの任意の光路は、黒構造単位の正確に等しい数を提供します。
時々赤黒木は、平凡な二分探索木として解釈されます。 その差はリブに着色上記の意味で、唯一の代わりに特定の色成分の点で決定されます。
なぜ、赤、黒の木を選びます
黒と赤の木は自分のバランスをとるバイナリ検索ツリーの最も一般的な変種の一つであり、その最も多くの実用的な用語で回します。
これは、その人気は何を説明しますか? 怠惰な練習、そしてそれが認識することです。 使用するにはあまりにも煩雑で困難であると同時に、同様の結果が得られるものは、もっと簡単な方法の使用に匹敵する死亡または長期計画に入ります。 赤黒木の人々のこの有病率は、彼らはほとんどの場合、複雑なバランスの品質とレベル間の最適なバランスを提供し、それを維持するため。
あなたが彼らの木度の完璧なバランスでそれらを比較した場合、状況は「理想」の代表があまりにも相容れない要求を課すことが観察されたときに発生する可能性があります。 そして、木の除去動作の実現や普及あまりにも多くの時間と労力の面で適切なバランスの状況を安定させるに費やされています。
プロセス
黒と赤の二分木を校正するプロセスはほぼ二分探索の他のすべての枝についても同様です。 任意の黒とマホガニーは、古典的なバイナリ検索ツリーの特定の一の実施形態を表すように、それは、真です。
しかし、それらを扱うときは、直接、生産上の活動や、黒や赤のツリー構造への損傷を引き起こす可能性のあるデータを除外し、強力な可能性を考慮すべきです。 大きな利点は、そのような色を変更するなどのアクション、およびしばしばツリーの以下の3ターンの比較的少数の特性を再構築する必要があることです。 事実上、これらの操作の全ては、長い時間がかかることはありません。
挿入アクションを進める又は後続ノードをインクリメントするのに必要なスイッチング素子。 この機能は、バイナリ検索ツリーのすべてで同様です。 次のステップは、赤のカラーコーディングユニットです。 唯一の違いは、バイナリ検索ツリーまず最初に挿入する操作は、我々はシートを追加する場合、赤、黒と過去は何の情報も運ばないと考えてよいです。 したがって、代わりに赤と黒2子を受信し、内部ノードを追加しました。
私たちの行動をさらにすることは、直接隣接するノードの色によって調整されます。 用語「叔父は、」彼らのために使用されています。 家族の木との直接類推。 それゆえ:
- すべての葉が黒のままの特性は、すべての回で行使されなければなりません。
- 各赤ノードの2つの誘導体は黒保持配列は、中断されていてもよいです。 赤に黒またはツリー全体を回して色を変化させることにより、赤色のノードを追加する場合には、こののみ発生します。
- また、黒のノードの同じ数を含むシートのアセンブリの配列に違反してもよいことに留意されたいです。 これは、黒ノードは、黒に赤の要素を変更し、反対の状況では赤に黒再塗装する場合にのみ発生します。 同じことが行われ、ツリーを回したときにすることができます。
上記のすべてを確認した後、どのように赤黒木で検索を理解するのは簡単です。
黒、赤または黒茶色 - その色の記述を持つツリーのような単純なこと、興味深い解釈。 今、あなたはこの中に気づいています。
Similar articles
Trending Now