私は大学のDFSとエッジ分類を実装しています(このペーパーで提供されているコードに基づいて:https://courses.csail.mit.edu/6.006/fall11/rec/rec14.pdf)。DFSの探索順序はエッジ分類に影響します
私はテストとして、このグラフを使用しました:頂点内部の数字は、それぞれ、発見とファイナライズ時間ある一方でイタリックで
文字は、単に頂点の名前です。エッジは、「戻る」、「進む」、または「クロス」として分類されます。それ以外はツリーのエッジです。
ご覧のとおり、このグラフは次の順序で訪問されました。最初はs
です。アクセス可能な隣人がいなくなったとき、訪問はt
で始まりました。
私たちのアルゴリズムをテストするために、教師は、各エッジがラインとしてテキストファイルを提供します。 DFSを実行する際には、ファイル内の各頂点の出現順序に従います。この場合には、それはs
、その後v
、ないt
最初のだろう。これは、順番に異なるエッジの分類を与える:t
t
ツリー1 バック1とu
からu
からv
クロスエッジとみなされ、t
に。
この動作は正常ですか?探索の順序は最終的なエッジ分類に影響するか?もしそうなら、両方の分類、私の例、正しいのでしょうか?そうでない場合は、最初にどの頂点を探索するかわかりますか?
画像内のグラフがアルファベット順に実際に横断されたとは思いませんか? 「s」が最初のものだった。隣人がいなくなった後、それは「t」から始まった。 –
@ andre_ss6最初の頂点がアルファベット順に選択されました。しかし、一度頂点を探索し始めると、隣接する頂点は逆アルファベット順に選択されます。そうでない場合、エッジ「s→w」および「w→x」はツリーエッジとして分類される。 – dasblinkenlight