序文
バイナリツリー:このプロジェクトは最近忙しい目標検出されているので、古典的なアルゴリズムの1を停止し、要約する時間がなかったです。今、私はあなたが、アルゴリズムの理解を容易にするため、バイナリツリーとそのアプリケーションを定義紹介します。
1.バイナリツリー
バイナリツリーは特別な木である、それは以下の持っている特性を:
1.ツリー内の各ノードは、最大2つのツリー、多くとも2の、すなわち各ノードを有することができます。
2.バイナリツリーは、サブ分割について、すなわちた左サブツリー及び右サブツリー、順序を逆にすることができません。
唯一の子供は、だけでなく、左または右のサブツリーサブツリーを区別する場合でも3.バイナリツリー。
2.バイナリツリートラバーサル
一例として、二分木の次のトラバース。
予約注文トラバーサル2.1
アイデア:まず右のサブツリーを前順、そして左のサブツリーを前順、ルートノードにアクセスしてください。全体のルートは-左-右の図の先行順結果に:1,2,4,8,9,5,3,6,7。
2.2前順
アイデア:最初のルートを訪問し、その後、左のサブツリーにアクセスし、そして最終的には右のサブツリーにアクセスするためにするためです。全体的に左-ルート-右、先行順結果上の図のように:8,4,9,2,5,1,6,3,7
2.3前順
考えること:右のサブツリー以降の訪問、ルートへの最後のアクセス、その後、左のサブツリーをアクセスシーケンスを持っています。一般的に残っていた-右-根を、図トラバーサル順序の結果後:8,9,4,5,2,6,7,3,1
2.4レベル(幅優先トラバーサル)を横切ります
アイデア:使用してキューによると、キューに、順番に、根、左サブツリー、右のサブツリーをキューのFIFOのレベルトラバーサルを達成するためのルール。図の先行順の結果後:1,2,3,4,5,6,7,8,9
2.5深さ優先トラバーサル
アイデア:使用スタックに応じて、スタックにサブツリー左、最初のスタックルート、次にスタックルート、及び右サブツリーのルートを、スタックのポスト高度深さ優先トラバーサルを達成するためのルール。図の先行順の結果後:1,2,4,8,9,5,3,6,7
リファレンス接続: