私は有向グラフ強連結成分を見つけるためのアルゴリズムについて読んでいます。2つのDFS検索を考慮し、2番目のステップは元のグラフG Tを転置します。
アルゴリズムは次のとおりです。
- DFSを実行し(任意の開始頂点から開始)、すべての頂点の終了時間を追跡します。
- 転置を計算し、
- でDFSを実行し、最後の終了時刻の頂点から開始して、その頂点をルートとするツリーを形成します。ツリーが完成したら、次の最新の終了時刻で未訪問の頂点に移動し、DFSを使用して別のツリーを形成し、G Tのすべての頂点が訪問されるまで繰り返します。
- 2番目のDFSによって形成された各ツリーの頂点を、個別に強く接続されたコンポーネントとして出力します。
私の質問は:
- 転置計算のこの中間ステップの背後にある直感は何ですか?