基礎圖論
什麼是圖?
組成
頂點
邊
有時候會有點權
或是邊權
3
9
4
1
7
3
3
8
2
6
1
9
7
4
基本性質
度數
點的度數:該點連接的邊數
4
2
2
2
1
1
0
路徑
多個相鄰點及其連邊的集合
環
起點終點相同的路徑
圖的分類
有向圖
3
9
4
1
7
3
3
8
2
6
1
9
7
4
簡單圖
3
9
4
1
7
3
3
8
2
6
1
9
7
4
沒有重邊或自環
完全圖
所有點之間皆有連邊
樹/森林
沒有環的圖稱為森林,每個聯通分量為一樹
樹
二分圖
將點分割為兩個互斥集,且集合內無相鄰點
圖的儲存
鄰接矩陣
二維陣列存圖
n個點:G[n][n]
G[i][j]:從i點連到j點的邊權
\begin{bmatrix} 0&3&0&0&0 \\ 3&7&2&0&8 \\ 0&2&0&6&0 \\ 0&0&6&0&0 \\ 0&8&0&0&0 \end{bmatrix}
2
5
3
1
4
3
8
2
6
7
鄰接串列
vector陣列存圖
n個點:vector G[n]
2
5
3
1
4
3
8
2
6
7
1 : {2,3}
2 : {1,3},{2,7},{3,2},{5,8}
3 : {2,2},{4,6}
4 : {3,6}
5 : {2,8}
圖的遍例
DFS-深度優先搜尋
走到一個點
把所有相鄰點丟進stack
取stack中top繼續走下去
DFS
BFS-廣度優先搜尋
走到一個點
把所有相鄰點丟進queue後端
取queue前端繼續走下去
BFS
基礎圖論
By ck_platypus
基礎圖論
- 334