[OK]を、私はこのために、運動のこの質問を投稿:グラフ - ダイクストラシングルソース最長パスの
我々は最大最小を変更することにより、シングルソースの最長経路問題を解決するためにダイクストラのアルゴリズムを変更することはできますか?もしそうなら、あなたのアルゴリズムが正しいことを証明してください。そうでない場合は、反例を提示する。この運動やダイクストラ法に関連するすべてのもののために
、私はグラフには負の重みが存在しないと仮定します。さもなければ、最短経路問題でさえ、負エッジが存在する場合、Dijkstraは適切に動作することができないのであまり意味がない。
[OK]を、私の直感は私のためにそれに答え:
をはい、私はそれを修正することができると思います。
私だけ
- MININT に初期化距離アレー
- 変更
distance[w] > distance[v]+weight
distance[w] < distance[v]+weight
から
は、その後、私は私の答えを確認するために、いくつかの研究をしました。私はこの記事を見つけました:
Longest path between from a source to certain nodes in a DAG
まず、私は私の答えが原因で上記のポストで間違っていたと思いました。しかし、私は、上記のポストの答えが間違っていることが分かった。 シングルソース最長パス問題と最長パス問題が混在しています。
もBellman–Ford algorithmのウィキでは、それが正しく言った:
ベルマン - フォード法は、加重有向グラフにおいて単一始点最短経路を計算します。 負のエッジ重みを持たないグラフでは、Dijkstraのアルゴリズムが高速になると、という問題も解決されます。したがって、Bellman-Fordは主に負のエッジ重みを持つグラフに使用されます。
私の答えは正しいと思いますよね? Dijkstraは実際にになる可能性があります。シングルソース最長パス問題と私の修正も正しいのですか?
@Kristo、どうぞご覧ください。 –