バイナリ検索ツリー(バイナリ検索ツリー)、(また:バイナリ検索ツリー、バイナリ・ソート木)空の木、または以下の特性を有するいずれかであるバイナリツリーを:サブツリーが空でない残っている場合は、左すべてのサブツリー・ノードの値は、ルートノードの値未満であり、その右側のサブツリーが空でない場合、右の部分木、根の値よりも大きい全てのノード、その左、彼らはまた、右のサブツリーたバイナリ・ソートツリー。
バイナリツリートラバーサル3がある:
(1)最初の(ルート)(ルートについて)プレオーダー
(2)(根)(左右ルート)プレオーダー
(3)(根)プレオーダー(ルート程度)
の例では、 :
まず(ルート)(ルートについて)先行順走査:ABDHEICFJKG
(ルート)先行順走査(左と右の根)で:DHBEIAJFKCG
(ルートについて)(ルート)先行順走査後:HDIEBJKFGCA
例えば、後に(root)の順トラバーサル、毎回木の左部分木の最初の横断、そして右のサブツリーがツリーを走査し、最後にルートを横断し、というように、ツリーの完全なトラバーサルまで。
加えて、提案がある:バイナリツリートラバーサルシーケンスの任意の種類を考えると、それは一意のバイナリツリーを対応して決定することができません。しかし、バイナリツリートラバーサル順序及び任意の他の配列トラバーサルかどうかを知るために、二分木を一意に決定することができます。
実施例1:既知の2進シーケンス後順のdabec、配列先行順debac、その配列の前順走査(cedba)。
debacの:(1)予約購入
後順:dabec
ノードの最後のシーケンスの後順トラバースがルートノードであるルートノードCが発見されました。
シーケンスの途中でルートノードトラバーサル順序は、その左の部分木は右、右サブツリーで、残されます。したがって、配列先行予約を見ることができるから、唯一の左の部分木のルートノードCは、権利サブツリーが存在しません。
(2)先行予約:デバの
後順:DABE
ノードの最後のシーケンスの先行順走査がルートされた後、サブツリーを左E Cのルートを理解されたいです。
シーケンスの途中でルートノードトラバーサル順序は、その左の部分木は右、右サブツリーで、残されます。そのため、シーケンスの先行順から右のサブツリーがBAで、左の子ノードのルートは、eがdと、見ることができます。
(3)先行予約:BAの
後順:ABは
配列B eの後順トラバーサルルート右サブツリーを理解しました。中央列の先行順は、ルートノードbの右の子で、見ることができます。
ツリーは次のよう:
:より転載https://blog.csdn.net/qq_34840129/article/details/80619761
その他のフォローアップ完成する。https://www.cnblogs.com/mcomco/p/10184033.html