111年高考三級資料結構
|
四、用 G = (V, E) 表示一個無方向性圖形,其中 V 是點的集合,E 是一組節點(Vertices) 形成邊及對應權重 (Weights) 所組成的集合。今有一圖形 G = (V, E),V = {0, 1, 2, 3, 4, 5},圖形的邊與權重值以如下的定義儲存對應連接矩陣 (Adjacency matrix) 表示中的值 #define MAX_EDGES 100 typedef struct { int col; int row; int weight; } edge; edge a[MAX_EDGES]; 已知陣列 a 儲存對應連接矩陣相連接邊的內容如下:a = {(3, 0, 2), (4, 0, 1), (5, 0, 20), (2, 1, 7), (5, 1, 24), (3, 2, 15), (4, 2, 10), (5, 2, 25), (4, 3, 3)}。請畫出陣列 a 所儲存的圖形,然後,利用 Prim 演算法從節點0開始依加入其它節點的順序,畫出此圖之最小擴張樹 (Minimum spanning tree),並計算其最低權重或成本值。(25分) |
答:
(一)陣列a所儲存的圖形
|
|
0 |
1 |
2 |
3 |
4 |
5 |
|
0 |
0 |
∞ |
∞ |
2 |
1 |
20 |
|
1 |
∞ |
0 |
7 |
∞ |
∞ |
24 |
|
2 |
∞ |
7 |
0 |
15 |
10 |
25 |
|
3 |
2 |
∞ |
15 |
0 |
3 |
∞ |
|
4 |
1 |
∞ |
10 |
3 |
0 |
∞ |
|
5 |
20 |
24 |
25 |
∞ |
∞ |
0 |
(二)最小擴張樹
最低權重為1+2+10+7+20 = 40。
文章標籤
全站熱搜

第一題 請畫出陣列 a 所儲存的圖形 是要畫出圖形,還是陣列所存放資料 ?
題目說畫出陣列 a 所儲存的圖形.所以是陣列所存放資料.國考很多這種文字描述不嚴謹的題目.所以要猜對命題老師的意思.一堆出題教授中文底子不太行,也沒有成立專業的審題小組.這類題意不清楚的題目未來只會增加不會減少.