略しデータ構造とアルゴリズム - バイナリツリー

バイナリーツリー(二分木)


 

ツリー

  • ルート、親、兄弟、リーフノード
  • 高さ、深さ、層の概念

二進木

名前が示すように、各ノードは、2人の子供であるほとんどの二つの「フォーク」、であり、左の子と右の子ノードだったノードは2、一部だけ左ノード、唯一の右ノードいくつかを持っている必要がありますする必要はありません

完全なバイナリツリー

  • 図進数、リーフノードが全て底2に、リーフノードを除いて、各ノードが子ノードを左右しているされているが、完全なバイナリツリーと呼ばれる二分木への

完全二叉树

  • 図進数、下の二つの層内のリーフノード3は、左の葉ノードの最後の層が配置され、そして最後のものを除いて、ノードの数は、他の層は、完全二分木と呼ばれる最大値に達しました二進木

どのようにバイナリツリーを表す(またはストア)するには?

  • チェーン店の法則
  • メソッド順次ストレージ
    • アレイベース
    • ノードXは、位置Iの配列インデックスに格納されている場合、
    • 2 *私は、保管場所のインデックスが左の子であります
    • 添字は2 * I + 1の保存された位置の右の子です。
    • ターンでは、位置記憶はI / 2は、その親ノードでラベルされました。このように、長い我々は、格納されたルートノードの位置を知っている(一般的には、子ノードの計算を容易にするために、ルートノードはインデックス位置1に格納されている)ので、以下の規格によって計算することができるように、ツリー全体が文字列でありますアップ。
    • 完全2分木に適した、非完全なバイナリツリーはスペースの無駄になる場合。
    • ヒープは、完全なバイナリツリーで、多くの場合、ストアデータアレイに使用されています

バイナリツリートラバーサル

  • 予約限定トラバーサル-アクセスシーケンス: - 「左の子- 」右の子
  • 予約限定-アクセス順序:左の子- 「 - 」右の子
  • 後順-アクセス順序:左の子- 「右の子- 」親ノード

バイナリ検索ツリー(バイナリ検索ツリー)

 

おすすめ

転載: www.cnblogs.com/wod-Y/p/12024384.html
おすすめ