--- dijstraグラフ理論アルゴリズム

1、ターゲット:無指向性又は最短経路を指します。

 

2、MATLABは達成します:

重量= [ 0      2      8      1    InfのInfのInfのInfのInfのInfのInfの、
            2      0      6    Infの      1    InfのInfのInfのInfのInfのInfの、
            8      6      0      7      5      1      2    InfのInfのInfのInfの、
            1    Infの      7      0    InfのInfの      9    InfのInfのInfのInfの、
          INF      1      5    INF      0      3    INF      2      9    INF INF。
          INF Infの      1    Infの     3      0      4    Infの      6    InfのInfの; 
          INF INF      2      9    INF      4      0    INF      3      1    INF。
          INF INF INF INF      2    INF INF      0      7    INF      9 
          INF INF INF INF      9      6      3      7      0      1      2 
          INF INF INF INF INF INF      1    INF      1      0      4 
          infファイルinfファイルinfファイルinfファイルinfファイルinfファイルinfファイル     9      2      4      0 ;]。
[DIS、パス] =ダイクストラ(重量、111 


dijkstra.mの
関数[分、パス] = ダイクストラ(端末、開始、W)
N =サイズ(W 1)。ラベル(スタート)= 0 ; F(開始)= 始めます。
以下のための I = 1 :nの
    場合、私は〜= 開始
       ラベル(I) = infファイル。
エンド、エンド
S(1)=始めます。U = 始めます。
一方、長さ(S)< N
    のために I = 1 :nの
      イン= 0 ;
       J = 1 :長さ(S)
          であれば、I == S(J)
            イン = 1 
         終わり、   
      終わり
      であればインの== 0 
         V = I;
         もしラベル(V)>(ラベル(U)+ W(U、V))
            ラベル(V) =(ラベル(U)+ (W U、V))。
         F(V) = U。
         エンド、
      エンド、
   エンド・    
V1 = 0 
   K = INF。
   以下のための I = 1:N 
         イン = 0  J = 1 :長さ(S)
             であれば、I == S(J)
               イン = 1 
            終わり、
         終わり
         であればインの== 0 
            V = I;
            もし K> ラベル(V)
               、K =ラベル(V)。V1 = V; 
            エンド、   
         エンド、   
   エンド
   S(長さ(S) + 1)= V1。  
   U = V1; 
終了=ラベル(端子)経路(1)= 端子と 
I = 1 ; 
一方、経路(I)〜= 開始
      パス(I + 1)= F(経路(I))。
      I = iは、+ 1 
エンド
パス(I) = 始めます。
L = 長さ(パス)。
パス =パス(L: - 11)。

 

 

 

図3に示すように、入力データフォーマット:

    [ 0      2      8      1    InfのInfのInfのInfのInfのInfのInfの、
     2      0      6    Infの      1    InfのInfのInfのInfのInfのInfの、
     8      6      0      7      5      1      2    InfのInfのInfのInfの、
     1    Infの      7      0    InfのInfの      9    InfのInfのInfのInfの、
   INF      1      5    INF      0      3    INF      2      9    INF INF。
   INF INF      1    INF      3      0      4   INF      6    infファイルinfファイル。
   INF INF      2      9    INF      4      0    INF      3      1    INF。
   INF INF INF INF      2    INF INF      0      7    INF      9 
   INF INF INF INF      9      6      3      7      0      1      2 
   INF INF INF INF INF INF      1    INF      1      0      4 
   INF INF INF INF INF INF INF      9      2      4      0 ;]


    [ 0      8    InfのInfのInfのInfの      7      8    InfのInfのInfの、
   INF      0      3    INF INF INF INF INF INF INF INF。
   INF INF      0      5      6    INF      5    INF INF INF INF。
   INF INF INF      0      1    INF INF INF INF INF     12 
   INF INF      6    INF      0      2    INF INF INF INF     10 
   INF INF INF INF      2      0      9    INF      3   infファイルinfファイル。
   INF INF INF INF INF      9      0    INF INF INF INF。
     8    InfのInfのInfのInfのInfのInfの      0      9    InfのInfの。
   INF INF INF INF      7    INF INF      9      0      2    INF。
   INF INF INF INF INF INF INF INF      2      0      2 
   INF INF INF INF     10    INF INF INF INF INF      0 ;]。

 

おすすめ

転載: www.cnblogs.com/lilei0128/p/11099368.html