圖的遍歷

圖的遍歷

深度優先遍歷DFS
很想走迷宮,我們爲了不重複的走,可以約定一個右手原則:
在沒有碰到頂點的情況下,分叉路口始終是向右手邊走,每路過一個頂點就做一個標記。

很像是遞歸,也很像是樹的前序遍歷。
在這裏插入圖片描述
遍歷順序如下圖:
在這裏插入圖片描述
藍色是遵循右手原則走出來的,紅色是已經走過重複了,不會再走的。只看藍色的路線,ABCDEFGH(GFED)I,括號爲發現ED已經重複而返回退到D直到出現I。
藍色的樹是前序遍歷。
遞歸就是給一個條件,讓程序自己向深處探索。

馬踏棋盤問題
哈密爾頓路徑

廣度優先遍歷BFS
和深度優先不一樣,廣度優先是從最明顯到次明顯,而不是深度排查一個地方,再深度排查另一個。
在這裏插入圖片描述
這樣的排序和深度的那個圖一個樣子,但是整齊了很多。
很像層序遍歷
可以用隊列來實現,遍歷的順序是出隊列的順序。
在這裏插入圖片描述
最小生成樹
通信網路和電路板
普利姆算法
克魯斯卡爾算法

最短路徑
迪傑斯特拉算法
弗洛伊德算法

發佈了27 篇原創文章 · 獲贊 0 · 訪問量 468
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章