第13周專案3 Dijkstra演算法的驗證

2021-07-24 21:32:37 字數 1348 閱讀 8847

問題:

[cpp]view plain

copy

/** 檔名稱:專案3.cbp

* 作    者:程德泉

* 完成日期:2023年11月25日

* 版 本 號:v1.0

* 問題描述:dijkstra演算法的驗證。

* 輸入描述:無

* 程式輸出:測試資料*/

標頭檔案及功能函式詳見【圖演算法庫】

**:[cpp]view plain

copy

#include "graph.h"

#define maxsize 100

void

ppath(

intpath,

inti,

intv)  

//前向遞迴查詢路徑上的頂點

void

dispath(

intdist,

intpath,

ints,

intn,

intv)  

else

printf(

"從%d到%d不存在路徑\n"

,v,i);  

}  void

dijkstra(mgraph g,

intv)  

s[v]=1;  

path[v]=0;              //源點編號v放入s中

for(i=0; i//迴圈直到所有頂點的最短路徑都求出

s[u]=1;                     //頂點u加入s中

for(j=0; j//修改不在s中的頂點的距離

if(s[j]==0)  

if(g.edges[u][j]

}  dispath(dist,path,s,g.n,v);     //輸出最短路徑

}  int

main()  

,  ,  

,  ,  

,  ,  

};  

arraytomat(a[0], 6, g);  

dijkstra(g,0);  

return

0;  

}  

測試用圖:

執行結果:

知識點總結:

dijkstra演算法的驗證。

第13周專案3 Dijkstra演算法的驗證

問題 檔名稱 專案3.cbp 作 者 王聰 完成日期 2015年11月25日 版 本 號 v1.0 問題描述 dijkstra演算法的驗證。輸入描述 無 程式輸出 測試資料 標頭檔案及功能函式詳見 圖演算法庫 include graph.h define maxsize 100 void ppath...

第12周專案3 Dijkstra演算法的驗證

下面演算法驗證以下圖為例 void ppath int path,int i,int v 前向遞迴查詢路徑上的頂點 void dispath int dist,int path,int s,int n,int v else printf 從 d到 d不存在路徑 n v,i void dijkstra...

第13周專案1 (3)

檔名稱 test.cpp 版本 code blocks 問題描述 定義分數的一目運算 和 分別代表分數取正和求反,將 按位取反運算子 過載為分數的求倒數運算。輸入描述 程式輸出 include include using namespace std class cfraction void simp...