ダイクストラ法(Dijkstra's algorithm)

ダイクストラ法(Dijkstra's algorithm)とは、グラフ上で最短経路を求めるためのアルゴリズムの一つで、 指定した始点から、各頂点への最短経路を求めるのに使われる。 このアルゴリズムの対象は、有向グラフや無向グラフ、重みつきグラフに対して適用可能です。

サンプルグラフ

隣接行列のコード

      
    let START = 1; // スタートする頂点
    const N = 8; // 頂点の数
    const M = 9999; // 接続なし

    // 隣接行列
    const a = [
      //  1  2  3  4  5  6  7  8
      [0, 0, 0, 0, 0, 0, 0, 0, 0], // 頂点
      [0, 0, 1, 7, 2, M, M, M, M], // 1
      [0, 1, 0, M, M, 2, 4, M, M], // 2
      [0, 7, M, 0, M, M, 2, 3, M], // 3
      [0, 2, M, M, 0, M, M, 5, M], // 4
      [0, M, 2, M, M, 0, 1, M, M], // 5
      [0, M, 4, 2, M, 1, 0, M, 6], // 6
      [0, M, M, 3, 5, M, M, 0, 2], // 7
      [0, M, M, M, M, M, 6, 2, 0], // 8
    ];      
      
      

実行結果

      
START =