問題:
[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...