無向グラフでパスを見つける簡単なアルゴリズムとは何ですか?無向グラフパスを見つけるアルゴリズム
答えて
この質問に対する回答は、グラフの表現に依存します。典型的なアルゴリズムはDijkstraのアルゴリズムです(このアルゴリズムは最短経路を見つけるが、それはうまくいく)。
http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm
これは、実装するために、かなり単純なアルゴリズムだし、パスの中でおそらく最も直感的なアルゴリズムを見つけます。
私が書く必要がある関数は、パスがあるかどうかtrueまたはfalseを返すと仮定しています。また、グラフは is_pathと定義されていますか? '(3((1 2)(2 3))1 3)ここで、3は頂点の数であり、((1 2)(2 3))はエッジである。しかし、頂点の数は任意です。私はDijkstraのアルゴリズムを見ましたが、私はまだ完全に失われています。さらなる助けに感謝します。 – IAQ
Dijkstraのアルゴリズムの本質は、それがグラフのエッジ間で一種の推移的閉包を使用することです。たとえば、最初の反復では、a - > bおよびb - > c、a - > cの場合、基本的にグラフの2つのノード間にパスがあることがわかる、または、エッジ間を行き来する可能性のあるさまざまな方法を試して、可能なパスがないことを確認してください。 bruceはこれを行うSchemeの実装に向けてあなたを指摘しました。 –
パスが存在するかどうかを調べる最も簡単な方法は、depth-first searchを実装することです。 Schemeで他の種類の再帰的プログラミングを行ったことがあれば、深さ優先検索はかなり自然になるでしょう。アイデアは、各ノードに対して、それが完了した宛先である場合です。それ以外の場合は、それぞれの子に再帰します。
唯一のキャッチは、同じノードを2回訪れるのを避けるために、トラバーサル中にすでに訪れたノードを追跡する必要があることです。そうでなければグラフA < - > B < - > Cがあり、AがCに接続しているかどうかを確認しているなら、無限にAからBへ、次にBからAへ、AからBへ、そうして永遠に。
- 1. アルゴリズムが無向木のパスを見つける
- 2. 無向グラフのアルゴリズム*
- 3. Diffアルゴリズム、つまり最短の編集グラフパス
- 4. ソースとシンクを分離する無向グラフの最小カットを見つけるアルゴリズムはありますか
- 5. 無向グラフのサイクルを見つけて印刷する
- 6. 無向グラフでユニークなループを見つける
- 7. 重複を見つけるアルゴリズム
- 8. Boost :: string_refアルゴリズムを見つける
- 9. 共起行列を見つけるアルゴリズム
- 10. PDFリーダー - 単語を見つけるアルゴリズム
- 11. 有向グラフのすべての弱結合成分を見つけるアルゴリズム
- 12. ジオポイントのXパーセンテージをカバーするアルゴリズムを見つけるアルゴリズム
- 13. 有向グラフで島を見つける
- 14. 位置と向きを見つける
- 15. 無向グラフの2つのエッジの等価性を見つけるには?
- 16. "良い"隣人 - グラフの色付けを見つけるアルゴリズム?
- 17. アルゴリズム:不完全な値を持つモードを見つける
- 18. 無向グラフで強く接続されたコンポーネントを見つける
- 19. De-Boorsアルゴリズムを実装してBスプラインの点を見つけるアルゴリズム
- 20. ソートされたリストをマージするアルゴリズムを見つける
- 21. グラフのノードを訪問する順序を見つけるアルゴリズム
- 22. 有向グラフのすべての頂点を1回以上訪れるパスを見つけるアルゴリズム
- 23. パターンに一致する最短文を見つけるアルゴリズム
- 24. 重複する画像のアルゴリズムを見つける
- 25. リスト内の一致する実数値を見つけるアルゴリズム
- 26. 関連する単語をテキスト内で見つけるアルゴリズム
- 27. 入力ポイントを使って数字を見つけるアルゴリズム
- 28. Dijkstraアルゴリズムを使って最短ルートを見つける
- 29. でチェックボックスを見つけるセレンを作る無効= "無効"
- 30. PHPでアルゴリズムを見つけることができません
過去1日か2日にグラフ関連のSchemeに関する質問がスタックオーバーフローになっています。例:http://stackoverflow.com/questions/9426788/depth-first-search-dfs-for-undirected-graphsこれは宿題の質問ですか? – dyoo
はいそれは他のものですが私の投稿ではありません – IAQ
強い推薦:http://www.htdp.org/2003-09-26/Book/curriculum-ZH-35.html#node_chap_28 ://www.htdp.org/2003-09-26/Book/curriculum-ZH-38.html – dyoo