//初期化 var 頂点のスコア = [0,∞,∞,...,∞] (→スタートから各頂点までの暫定距離) var 直前の頂点 = [なし,なし,なし,...,なし] (→どこから来たか) var 処理済み = [未,未,未,...,未] (→調べ終わったら「済」にする) //処理 while 未処理の頂点がある var 現在位置 = スコアが最小の頂点 for each 未処理の隣接点 var 暫定スコア = 現在位置のスコア + 隣接点までの距離 if 隣接点のスコア>暫定スコア 隣接点のスコア = 暫定スコア 隣接点の直前の頂点 = 現在位置 現在位置を処理済みにする 終了

画面クリックで説明

図形を表示するには、canvasタグをサポートしたブラウザが必要です。




他のアルゴリズムの解説も見たい方へ