0
1
2
3
4
0
∞
∞
∞
∞
4
2
2
-1
6
8
-2
1-1
始点と他のノードの暫定距離を初期化します。
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
データ
始点から各ノードへの最短距離
dist
ノード間の距離
weight
始点の初期化
始点の暫定距離を0に初期化します。
dist[s] ← 0
その他のノードの暫定距離を大きな値に設定します。
dist[v] ← INF
距離の更新
暫定距離を更新します。
if dist[e.v] > dist[u] + e.weight:
dist[e.v] ← dist[u] + e.weight
最短距離を出力
始点からの最短距離を出力します。