アルゴリズム通関村 - インオーダーとポストオーダーを使用してバイナリ ツリーを復元する方法

プレオーダー: 1 2 3 4 5 6 8 7 9 10 11 12 13 15 14
インオーダー: 3 4 8 6 7 5 2 1 10 9 11 15 13 14 12
ポストオーダー: 8 7 6 5 4 3 2 10 15 14 13 12 11 9 1

まず関連する定義を確認します:
事前順序トラバーサル: 中央、
左、および右、したがって 1 がルート ノードであると判断できます 12
後続トラバーサル: 左および右、左 8 7 6 5 4 3 2、右 10 15 14 13 12 11 9

ここで、要素のおおよその左右の位置を知ることができます。

最初のラウンド

[3 4 8 6 7 5 2 ]1[10 9 11 15 13 14 12 ]
ここに画像の説明を挿入

第二ラウンド

Postorder + Inorder
Postorder: Left 8 7 6 5 4 3 2 Right 10 15 14 13 12 11 9
Postorder traversal では、左側のルート ノードが 2、右側のルート ノードが 9 であると決定されます。inorder
によれば、左側は2 の辺を決定できます。要素は 3 4 8 6 7 5、右側の要素はありません、9 の左側の要素は 10、右側の要素は 11 15 13 14 12 [3 4 8 6 7 5]2 [ 10]9[11 15 13 14
12
]
ここに画像の説明を挿入

3ラウンド目

事後走査 8 7 6 5 4 3、ルート ノードは 3
後続走査 15 14 13 12 11、ルート ノードは 11
順走査、3 には左要素がなく、右要素が存在します 4 8 6 7 5
順序トラバーサル、11 には左要素がなく、右要素はありません 15 13 14 12
3[ 4 8 6 7 5]
11[15 13 14 12]
ここに画像の説明を挿入

第4ラウンド

後続の走査 8 7 6 5 4 、ルートは 4
後続の走査 15 14 13 12 、ルートは8 6 7 5で、12 の順序 4 の右側にあり、左側の要素はありません 15 13 14 は、順序 12 の左側にあり、右側はありませ

要素
4 [8 6 7 5 ]
【15 13 14】12
ここに画像の説明を挿入

第5ラウンド

後続 8 7 6 5 ルート 5
フォロー 15 14 13 ルート 13
中: 5 左 8 7 6
中: 13 左 15 右 14
【8 7 6】5
【15】13【14】
ここに画像の説明を挿入

第6ラウンド

リア: 8 7 6 ルート
6 in 8 6 7 左 8 右 7
ここに画像の説明を挿入

合計

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_52843958/article/details/132023820