研究圖結構中頂點與邊之間關係的演算法
圖 G 由頂點集合 V 和邊集合 E 組成,記作 G = (V, E)。可分為有向圖、無向圖、加權圖、無權圖。
| 類型 | 說明 | 範例 |
|---|---|---|
| 有向圖 | 邊有方向 | 網頁連結、道路單行道 |
| 無向圖 | 邊無方向 | 社群關係、地鐵線路 |
| 加權圖 | 邊有權重 | 道路距離、成本 |
| 無權圖 | 邊無權重 | 社交連接 |
鄰接矩陣:二維陣列表示,適合稠密圖。空間 O(V²),查詢邊 O(1)。
鄰接串列:每個頂點維護串列,適合稀疏圖。空間 O(V+E),查詢邊 O(deg(V))。
廣度優先搜尋 (BFS):使用佇列,逐層走訪。時間 O(V+E),用於無權圖最短路徑。
深度優先搜尋 (DFS):使用堆疊或遞迴,深入走訪。時間 O(V+E),用於拓墣排序、偵測環。
Dijkstra:單源最短路徑,O((V+E) log V)。
Kruskal / Prim:最小生成樹,O(E log V)。
Floyd-Warshall:全源最短路徑,O(V³)。
Ford-Fulkerson:最大流,O(E × maxflow)。