ダイクストラのアルゴリズム | アルゴリズムビジュアル大事典

シンボル

データ
始点から各ノードへの暫定最短距離dist
最短経路木における親parent
ノード間の距離weight

始点の決定と初期化
始点の距離を0に初期化します。dist[s] ← 0
その他のノードの暫定距離を大きな値で初期化します。dist[v] ← INF
最短経路木の構築
暫定距離が最小のノードを探します。# find minimum
暫定距離が最も小さいノードを指します。u
ノードの暫定距離と親を更新します。if dist[v] > dist[u] + weight[u][v]:
    dist[v] ← dist[u] + weight[u][v]
    parent[v] ← u
最短経路木の暫定エッジを表します。(v, parent[v])
最短経路木を拡張していきます。Tにuを含める
最短経路木を出力
親の情報から最短経路木を構築します。

アニメーション

始点の決定と初期化
ダイクストラのアルゴリズム | 始点の決定と初期化

最短経路木の構築
ダイクストラのアルゴリズム | 最短経路木の構築

最短経路木を出力
ダイクストラのアルゴリズム | 最短経路木を出力