ある都市から別の都市への最短経路を計算する簡単なプログラムを開発しています。グラフの有向加重ノードを使用して、列車のトレイル マップを表します。
Bellman-Ford
これまでのところ、 、Dijkstra
、Floyd-Warshall
およびアルゴリズムを試しJohnson
ましたが、それらはすべて、出発地とは異なる別の目的地への最短経路を見つけるのに適しています。
しかし、都市 A と他の都市を通って都市 A に戻るパスを計算する必要がある場合、これらのメソッドは無限ループに巻き込まれないように都市から都市自体へのパスを無視するため、常に 0 の値を取得します。
このターゲットtarget
ノードをキャッチしたときにアルゴリズムを停止させる別のパラメーターを作成することで、そのループの問題を簡単に解決できることはわかっていますが、それらのライブラリの 1 つを変更するスキルがありません。
誰か道を教えてくれませんか?
私のグラフはで、 からまでAB5 - BC4 - CD8 - DC8 - DE6 - AD5 - CE2 - EB3 - AE7
の距離はであるはずですが、これらすべてのアルゴリズムでは が返されます。B
B
9
0
注: 少なくとも Java では、StackOverflow と Google で検索したため、これまでのところ、最初に端でルートを見つけることに誰も悩まされていないため、重複していません。