least()
兩個景點之間的全部路徑
void dfs_path(adjm g, int m,int n,int k)
else
s試探從下乙個頂點 s 開始是否有到終點的路徑
}}}void all_path(adjm g)
任意兩個地點之間最短路徑演算法
shortestpath_floyd(adjm *g弗洛伊德演算法
} for(i=0;ivexnum;i++)
for(j=0;jvexnum;j++)
for(l=0;lvexnum;l++)
if(dist[j][i]+dist[i][l]
while(flag==1標記量,無實際意義
printf("%s",g->vertex[k].name);
for(l=0;lvexnum;l++)
if(path[k][j][l]&&k!=l&&j!=l)
printf(">>>>>%s",g->vertex[l].name);
printf(">>>>>%s",g->vertex[j].name);
printf(" 總路線長%d公尺\n",dist[k][j]);
}最短路徑
全部路徑
中轉最少路徑
整個**只是完成了基本的要求,並沒用完成擴充的問題,對於檔案沒用完成,以及新增刪除路徑也沒有進行編寫,而且在查詢方式中,只是進行了編號查詢。在中轉最少路徑的演算法中,比較極端,只是將最短路徑的演算法進行了特殊化的更改,本質沒用太大的變化。對於景點的介紹也不是詳細清楚。
剛開始編寫程式時,考慮用檔案儲存但是遇到了問題,儲存不進去,後來用鄰接鍊錶來儲存權值和名稱,中間耽誤了很長的時間。後來把書中的程式仔細研讀,才把對圖的初始化建立成功。在所有的程式中,最巧妙的就是利用弗洛伊德演算法求兩景點間的最短路徑,而中轉路徑最少則利用弗洛伊德演算法將所有景點的權值置為1。
在這次的程式編寫中讓我對資料結構這門課有了更加深刻的印象,對圖這一結構也有了更深的了解。
《資料結構—c語言描述》 耿國華高等教育出版社
《c語言程式設計(第二版)》 王曙燕科學出版社
源**(電子版)
#include
#include
#include
#include
#define maxnum 11 //頂點個數
#define infinity 32768 //初始化值,最大值
int pre[maxnum用於存放權值或儲存路徑頂點編號
int visited[maxnum用於標誌是否已經訪問過
鄰接矩陣法
typedef struct vdata
vdata;
typedef struct anode
anode;
typedef struct
adjm;建立圖
資料結構實驗報告 校園導遊諮詢
軟體學院 學生實驗報告冊 實驗課程名稱 資料結構與演算法 實驗專案名稱 校園導遊諮詢 實驗型別 打 基礎 綜合 設計 院系 資訊工程學院計算機系專業 姓名學號 指導老師 軟體學院教務處編制 一 實驗預習報告內容 預習日期 2010年 6 月 19日 二 實驗原始 資料 記錄 實驗時間 2007 年 ...
華科資料結構課設報告校園導遊系統C語言
課程設計報告 題目 校園導遊系統 課程名稱 資料結構 專業班級 計算機1209班 學號 u201215056 姓名 公尺爾扎提 穆合塔爾 指導教師 週時陽 報告日期 2014.9.4 電腦科學與技術學院 校園導遊系統。以本校校園景點為背景,設計乙個程式,為來訪的客人提供任意景點相關資訊的查詢。以及規...
資料結構實習報告
接著猜的人再根據出題者的幾a幾b繼續猜,直到猜中為止。次數限制 有的時候,這個遊戲有猜測次數上的限制。根據計算機測算,這個遊戲,如果以最嚴謹的計算,任何數字可以在7次之內猜出。而有些地方把次數限制為6次或更少,則會導致有些數可能猜不出來。而有些地方考慮到人的邏輯思維難以達到計算機的那麼嚴謹,故設定為...