2016-04-05 10 views
-3

Dijkstrasアルゴリズムを使用するか、BellFordアルゴリズムを使用する必要があるのか​​を、あるソースからグラフ内の他のすべての頂点まで最短経路を見つける必要がある場合Dijkstra vs BellFordアルゴリズム

+0

フォードは負の重みを扱うことができますが、ダイクストラはできません。フォードがあるときはそれを使う – Idos

答えて

2

Dijkstraが適切に実装されているのはBellman-Fordよりも高速なので、グラフに負のウェイトエッジがない限りDijkstraを使用してください。この場合、Dijkstraは間違っている可能性がありますが、Bellman-Fordは正しい答えを返します。

グラフのウェイトが負の場合、最短経路は明確に定義されていません。ベルマンフォードは、与えられたグラフが負の重みサイクルを有するかどうかをチェックできるように修正することができる。

関連する問題