資料結構問題 城市最短路徑問題

2021-03-12 16:41:51 字數 1223 閱讀 3402

1樓:日尼丨禾爾

最短路徑問題

#include

#include

#define max 10000

#define maxlen 40

#define vextype int

#define adjtype int

typedef struct

mgraph;

mgraph create_mgraph()

for(i = 0; i < mg.vexnum; i++) /*鄰接矩陣初始化*/

for(j = 0; j < mg.vexnum; j++)

mg.arcs[i][j] = max;

for(k = 1; k <= mg.ar**um; k++)

printf("輸入此邊權值 : "); /*輸入弧上之權值*/

scanf("%d", &h);

mg.arcs[i - 1][j - 1] = h;}

return mg;

} main()

for(i = 0; i < n; i++)

for(i = 0; i < n; i++) /*s陣列初始化*/

s[i] = 0;

s[v0] = 1;

for(i = 0; i < n; i++) /*按最短路徑遞增演算法計算*/

s[u] = 1; /*u頂點是求得最短路徑的頂點編號*/

for(j = 0; j < n; j++)

if(s[j] == 0 && dist[u] + cost[u][j] < dist[j])/*調整dist*/

/*path記錄了路徑經過的頂點*/

} for(i = 0; i < n; i++) /*列印結果*/

if(s[i] == 1)

printf("%d ", u + 1);

printf(" d = %d\n", dist[i]); /*有路徑*/

} else

printf("%d <- %d d= max\n ", i + 1, v0 + 1);/*無路徑*/

printf("\n\n");}

2樓:

這個問題,首先要定義一個有向帶權圖,就像這樣typedef

structmgraph;

在你這個問題中,五個城市分別代表圖的五個頂點,由於時間原因,我就先大概這樣給你點一下。給我加懸賞分就行

初二數學最短路徑問題,初二數學最短路徑問題

1 作cd垂直於oa,ce垂直於ob,連線de。作c關於oa或ob的一個對稱點,然後連線 數學初二最短路徑問題 解 記河的兩岸為l,l 將直線l平移到l 的位置,則點a平移到a 連線a b交l 與d,過d作dc l與c,則橋架在cd處就可以了.八年級上冊數學題,關於最短路徑問題 把on放水平,以on...

資料結構的問題,資料結構的定義問題

就是幾個小錯誤 對照著看下就行,關於頭指標,如果不採用返回值的方法建立,就得使用指標的指標或者對指標的引用了。指標本身也是一個變數,它有自己的地址同時它的值也是地址,所以不採用引用或者指標的指標這樣傳遞,在函式作為實參傳遞後,函式內的指標就是另一個臨時的指標了,雖然它們儲存的值是一樣的,但是在進行分...

資料結構問題

談談如何學習資料結構 1.如果你沒有學過c語言,或者c語言學的不好的時候把資料結構當成一本數學書來學,它所講述的都是一些簡單的圖論。在你的大腦中的主線不能丟失 線性結構,樹結構和圖結構。當你不再考慮複雜的程式設計時,僅僅研究個個離散點之間的關係,似乎資料結構也就不會那麼難了。2.學習好了抽象的離散點...