資料結構與演算法1800題 圖

QisMe發表於2018-09-18

資料結構與演算法1800題 圖
等於不可以嗎?

資料結構與演算法1800題 圖

資料結構與演算法1800題 圖

DFS,深度優先遍歷,因為要記憶經過的節點,便於回溯,所以需要使用棧(先序遍歷),
BFS,廣度優先遍歷,需要使用佇列(層次遍歷)

資料結構與演算法1800題 圖

資料結構與演算法1800題 圖

DFS,BFS都不能唯一確定一個圖(類比於二叉樹)

資料結構與演算法1800題 圖

資料結構與演算法1800題 圖
資料結構與演算法1800題 圖

資料結構與演算法1800題 圖

資料結構與演算法1800題 圖

遍歷頂點不唯一

資料結構與演算法1800題 圖
不會做

資料結構與演算法1800題 圖

如果有向圖的拓撲排序序列是唯一的,則圖中必定只有一個頂點的入度為0,一個頂點的出度為0

資料結構與演算法1800題 圖

O(n)

資料結構與演算法1800題 圖
對 廣度優先搜尋時間複雜度:
使用鄰接表儲存:
BFS需要藉助一個佇列,O(V)
頂點表中每一個頂點需要訪問一次,在切換頂點的過程中,邊需要訪問一次,也就是邊表必須訪問一次,O(E)
總的時間複雜度為: O(V + V + E) = O(V + E)
使用鄰接矩陣儲存:
佇列O(V)
每一個頂點訪問一次,搜尋每一個頂點所連線的邊需要遍歷一行,也就是O(V*V) 總的時間複雜度為:O(V + V^2) = O(V^2)
DFS演算法的時間複雜度與BFS相同: 如果使用鄰接表,那麼就是將邊表訪問完畢+頂點表訪問完畢,一共是O(V+E)
如果使用鄰接矩陣,那麼就是每一個頂點的鄰接頂點都需要遍歷一行,也就是O(V^2)

資料結構與演算法1800題 圖

資料結構與演算法1800題 圖

資料結構與演算法1800題 圖
錯 AOV網的前提是一個DAG圖,DAG(有向無環圖),所以,AOV網一定具有拓撲排序,但是不一定具有唯一的拓撲排序

資料結構與演算法1800題 圖

一條環路都不允許存在

資料結構與演算法1800題 圖

資料結構與演算法1800題 圖

拓撲排序中,後續節點不存在指向前序節點的路徑,前序節點也不一定存在只想後續節點的路徑
資料結構與演算法1800題 圖

資料結構與演算法1800題 圖
資料結構與演算法1800題 圖

資料結構與演算法1800題 圖

資料結構與演算法1800題 圖

AOV網: 頂點表示活動(Activity On Vertex)

資料結構與演算法1800題 圖
不是AOV網,而是AOE網

資料結構與演算法1800題 圖

資料結構與演算法1800題 圖

資料結構與演算法1800題 圖

資料結構與演算法1800題 圖

資料結構與演算法1800題 圖

資料結構與演算法1800題 圖

相關文章