介紹
學(xué)習(xí)了數(shù)據(jù)結(jié)構(gòu)課程中的一些簡單的數(shù)據(jù)結(jié)構(gòu)之后春哨,用C語言和數(shù)據(jù)結(jié)構(gòu)中的一些知識實現(xiàn)一個簡易的學(xué)校的導(dǎo)航系統(tǒng)。
基本上的功能如下:
圖片介紹
-
數(shù)據(jù)結(jié)構(gòu)采用圖來存儲信息恩伺,根據(jù)百度地圖抽象出圖的結(jié)構(gòu)使用的是鄰接矩陣赴背,利用節(jié)點圖,直接生成鄰接矩陣的圖數(shù)據(jù)結(jié)構(gòu)晶渠。
學(xué)校平面圖
學(xué)校結(jié)點圖 校園的地點信息采用文件存儲的方式凰荚,隨時讀取。
兩點之間的最短路徑褒脯,采用迪杰斯特拉算法找到最短的路徑便瑟。
所有路徑,采用深度優(yōu)先的想法番川,進行遞歸的遍歷尋找兩個節(jié)點之間的所有通路到涂。
最佳布網(wǎng)方案脊框,采用Prim算法產(chǎn)生最小生成樹。
運行界面如下:
文件結(jié)構(gòu)
使用code::blocks編寫
|_main.c main函數(shù)的文件
|_fun.c 所有函數(shù)的實現(xiàn)
|_fun.h 數(shù)據(jù)結(jié)構(gòu)的定義以及函數(shù)的聲明
|*.txt 地點信息文件
具體代碼參考我的github倉庫