web-dev-qa-db-ja.com

逆ポストオーダーとは何ですか?

これはウィキペディアの説明です: データフロー分析

これは、フォワードデータフロー問題の典型的な反復順序です。逆ポストオーダー反復では、バックエッジが後続ノードに到達する場合を除いて、後続ノードのいずれかが訪問される前にノードが訪問されます。 (これは予約注文と同じではないことに注意してください。)

誰かがこれをより詳細に説明できますか?

13
lililqth

名前が示すように逆ポストオーダーは、ポストオーダートラバーサルの正反対を生成します。

enter image description here

上記の有向グラフの場合

ポストオーダートラバーサルはDB CAとDC BAです。

逆ポストオーダートラバーサルはAC BDとAB CDです。

逆ポストオーダートラバーサルを取得する方法

1つの方法は、ポストオーダートラバーサルを実行し、ポストオーダーでスタック内のノードをプッシュすることです。

次に、ノードをポップアウトして、逆のポストオーダーを取得します。

アプリケーション

深さ優先探索を使用したトポロジカルソート。

10
Biboswan