亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

一道數據結構題

一道數據結構題

守著星空守著你 2018-12-30 04:00:35
請問,這個算法,可以有人給我順一遍嗎,有些地方看不懂,求說明,謝謝啦  
查看完整描述

1 回答

?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

1)要實現的算法

①建立圖的存儲結構

②深度優先搜索和廣度優先搜索

③求圖的最小生成樹

④拓撲排序

⑤最短路徑

2)存儲結構設計

  本系統采用圖結構(mgraph)存儲抽象操作的信息。其中,各結點間的鄰接關系用圖的鄰接矩陣類型(adjmatrix)存儲。頂點信息用結構數組(vexs)存儲。其中每個數據元素師一個結構變量,包括一些基本信息。

此外,本系統還設置了三個全局變量:visited[]數組用于存儲頂點是否被訪問標記;d[]用于存放邊上的權值或者是存儲查找路徑頂點的編號;campus是一個圖結構的全局變量

3)功能設計

  本程序一共設置了9個子功能菜單,圖的初始化由函數initgraph()實現,依據讀入的圖的頂點個數和邊的個數。分別初始化圖結構中圖的頂點向量數組和圖的鄰接矩陣。9個功能設計描述如下:

①建立有向圖。有向圖的建立有由BuildAdjacencyList()實現。當用戶選擇該功能時,用戶要手動輸入該圖的信息。從而建立有向圖。

②輸出鄰接表。鄰接表的輸出有函數ShowAdjacencyList()實現。當用戶選擇該項功能時,系統即以鄰接表的形式輸出各頂點所連接的點。

③輸出頂點的度。頂點讀的輸出由函數ShowAdjacencyListDegree()實現。當用戶選擇該功能時,系統即將每個頂點的度以數字的形式輸出。

④進行拓撲排序。拓撲排序功能的實現由函數TopologicalSortAdjacencyList()完成。一旦選擇,就會進行排序并輸出。

⑤深度優先遍歷。采用DFS算法進行深度優先遍歷,遍歷完成后,將遍歷得到的結點有序輸出。

⑥廣度優先遍歷。采用BFS算法進行廣度優先遍歷,遍歷完成后,將遍歷得到的結點有序輸出。

⑦無向圖最小生成樹。最小生成樹的算法實現由函數AdjacencyListPrim()完成。該函數采用Prim算法對鄰接矩陣求最小生成樹并輸出。

⑧有向圖求最短路徑。最短路徑的實現采用函數AdjacencyListDijkstra()完成。該函數采用的是Dijkstra 算法對鄰接矩陣對各頂點到其他頂點的最短距離。并依次輸出。



查看完整回答
反對 回復 2019-01-03
  • 1 回答
  • 0 關注
  • 666 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號