ベルマンフォードのアルゴリズム | アルゴリズムビジュアル大事典

シンボル

データ
始点から各ノードへの最短距離dist
ノード間の距離weight

始点の初期化
始点の暫定距離を0に初期化します。dist[s] ← 0
その他のノードの暫定距離を大きな値に設定します。dist[v] ← INF
距離の更新
暫定距離を更新します。if dist[e.v] > dist[u] + e.weight:
    dist[e.v] ← dist[u] + e.weight
最短距離を出力
始点からの最短距離を出力します。

アニメーション

始点の初期化
ベルマンフォードのアルゴリズム | 始点の初期化

距離の更新
ベルマンフォードのアルゴリズム | 距離の更新

最短距離を出力
ベルマンフォードのアルゴリズム | 最短距離を出力