資料結構例程 每對頂點之間的最短路徑

2021-07-07 05:09:23 字數 694 閱讀 4307

本文是[資料結構基礎系列(7):圖]中第14課時[每對頂點之間的最短路徑]的例程。

[floyd演算法實現]

(程式中graph.h是圖儲存結構的「演算法庫」中的標頭檔案,詳情請單擊鏈結…)

#include 

#include

#include "graph.h"

#define maxsize 100

void ppath(int path[maxv],int i,int j) //前向遞迴查詢路徑上的頂點

void dispath(int a[maxv],int path[maxv],int n)

else

}}void floyd(mgraph g)

for (k=0; kfor (i=0; ifor (j=0; jif (a[i][j]>a[i][k]+a[k][j])

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

}int main()

, ,,};

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

floyd(g);

return

0;}

注:例程中的測試圖見上面演算法思想截

資料結構例程 每對頂點之間的最短路徑

本文是 資料結構基礎系列 7 圖 中第14課時 每對頂點之間的最短路徑 的例程。floyd演算法實現 程式中graph.h是圖儲存結構的 演算法庫 中的標頭檔案,詳情請單擊鏈結 include include include graph.h define maxsize 100 void ppath...

第十三周 每對頂點之間的最短路徑(Floyd演算法)

檔名稱 每對頂點之間的最短路徑.cpp 作 者 郝環宇 完成日期 2016.11.24 問題描述 用floyd演算法求解每對頂點之間的最短路徑 輸入描述 若干測試資料。程式輸出 相應的資料輸出。圖基本演算法庫 include include include graph.h define maxsiz...

資料結構課程設計 兩頂點之間最短路徑

問題描述 資料結構上機實驗報告題5 設計並實現乙個交通資訊系統。能夠讓旅客諮詢從任何乙個城市頂點到另乙個城市頂點之間的最短路徑問題。要求 能夠輸出旅客所走路徑 解題思想 使用弗洛伊德演算法依次遍歷圖中每個頂點,考量將其加入到圖中任意兩個頂點之間是否會使該兩個頂點之間的路徑 當前 剪短,若是,則在pa...