圖的鄰接表表示及其遍歷 1.圖的結構定義 2.圖的建立 3.圖的DFS遍歷 假設有下面這張圖,這個圖包含兩個連通圖。 輸入如下: 根據輸入,可以得到鄰接表如下: 根據鄰接表可知,該圖的深度優先遍歷如下: 程序運行結果: 證明程序是正確的。 完整程序代碼參見 ...
圖的鄰接表表示及其BFS遍歷 有下面這張圖: 假設該圖為有向圖,邊的指向均為小序號指向大序號。那么對該圖的BFS遍歷如下 假設從序號 的節點開始遍歷 : 遍歷結果應為: BFS遍歷類似於樹的層序遍歷,需要用到隊列。下面是程序代碼: .隊列定義和相關操作 文件 queue.h 文件 queue.c .圖的鄰接表表示及其遍歷操作 文件 graph.h 文件 graph.c .main.c文件 main ...
2016-08-09 14:13 0 2949 推薦指數:
圖的鄰接表表示及其遍歷 1.圖的結構定義 2.圖的建立 3.圖的DFS遍歷 假設有下面這張圖,這個圖包含兩個連通圖。 輸入如下: 根據輸入,可以得到鄰接表如下: 根據鄰接表可知,該圖的深度優先遍歷如下: 程序運行結果: 證明程序是正確的。 完整程序代碼參見 ...
要完整地表示一個圖,就需要明確圖中有什么,很簡單,節點和邊。 所以,在用鄰接表表示一個圖的時候,我們需要分別表示其節點和邊,然后用邊將節點連接起來即可。 使用鄰接表,文字上的描述就是,將所有節點放入一張鄰接表中,對於每個節點的鄰接節點,用一個鏈表將其連接起來。 1 鄰接表中 ...
...
圖 六度空間理論 圖中兩個頂點若要聯系,最多通過6個結點便可以完成 。 基本概念 圖用於表示“多對多”的關系。 包含 一組頂點:通常用V (Vertex) 表示頂點集合 一組邊:通常用E (Edge) 表示邊的集合 邊是頂點對:(v, w) E ...
圖的鄰接矩陣表示: 下面的這個程序讀入一組定義一個無向圖的便,創建一個對應這個圖的鄰接矩陣。如果在圖中頂點i,j或j,i之間有一條邊,就把a[i][j]和a[j][i]置為1,如果不存在這樣的邊,則置0。 另一種圖的直觀表示方法是鏈表數組,也叫鄰接表(adjacent ...
運行界面如下: 建造圖用到的graph.txt如下: ...
學習了圖的深度優先和廣度優先遍歷,發現不管是教材還是網上,大都為C語言函數式實現,為了加深理解,我以C++面向對象的方式把圖的深度優先和廣度優先遍歷重寫了一遍。 廢話不多說,直接上代碼: 運行結果為: ...