符號表示
資料 | ||
---|---|---|
起點到各節點的最短距離 | dist | |
節點間的距離 | weight |
初始化起點 | ||
---|---|---|
將起點的暫定距離初始化為 0。 | dist[s] ← 0 | |
將其餘節點的暫定距離初始化為極大的值。 | dist[v] ← INF | |
更新距離 | ||
更新暫定距離。 | if dist[e.v] > dist[u] + e.weight: dist[e.v] ← dist[u] + e.weight | |
輸出最短距離 | ||
輸出由起點開始的最短距離。 |
演算法動畫
初始化起點
更新距離
輸出最短距離
資料 | ||
---|---|---|
起點到各節點的最短距離 | dist | |
節點間的距離 | weight |
初始化起點 | ||
---|---|---|
將起點的暫定距離初始化為 0。 | dist[s] ← 0 | |
將其餘節點的暫定距離初始化為極大的值。 | dist[v] ← INF | |
更新距離 | ||
更新暫定距離。 | if dist[e.v] > dist[u] + e.weight: dist[e.v] ← dist[u] + e.weight | |
輸出最短距離 | ||
輸出由起點開始的最短距離。 |
初始化起點
更新距離
輸出最短距離