1. 程式人生 > >圖的基本應用

圖的基本應用

最小生成樹

Prim演算法 適用於求解邊稠密的圖的最小生成樹。 Kruskal演算法 適合於邊係數而頂點較多的圖。

最短路徑

Dijkstra演算法 Floyd演算法

拓撲排序

有向無環圖:一個有向圖中不存在環,則稱為有向無環圖,簡稱DAG圖。 AOV網:如果DAG圖表示一個工程,其頂點表示活動,用有向邊<Vi,Vj>表示活動Vi必須先於活動Vj進行的這樣一種關係,則將這種有向圖稱為頂點表示活動的網路。記為AOV網。在AOV網中,活動Vi是活動Vj的直接前驅,活動Vj是活動VI的直接後繼,這種前驅和後繼關係具有傳遞性,且任何活動Vi不能以它自己作為自己的前驅或後繼。 拓撲排序:在圖論中,由一個有向無環圖的頂點組成的序列,當且僅當滿足下列條件時,稱為該圖的一個拓撲排序。 1)每個頂點出現且只出現一次。 2)若頂點A 在序列中排在頂點B的前面,則在圖中不存在從頂點B到頂點A的路徑。 排序演算法為 1)從DAG圖中選擇一個沒有前驅的頂點並輸出。 2)從圖中刪除該頂點和所有以它為起點的有向邊。 3)重複1和2直到當前的DAG圖為空或者當前圖中不存在無前驅的頂點為止。而後一種情況則說明有向圖中必然存在環。