實驗一作業

2021-10-22 06:04:42 字數 1010 閱讀 5122

1.問題

舉乙個例項,畫出採用prim演算法構造最小生成樹的過程,並按實驗報告模板編寫演算法。

舉乙個例項,畫出採用kruskal演算法構造最小生成樹的過程,並按實驗報告模板編寫演算法。

2.解析

1、prim演算法:首先從圖g中任意乙個頂點開始。假設這個頂點叫a。將a加入乙個群。然後比較群外所有與這個群中的頂點相鄰的邊,將權重最小的邊的另外乙個端點加入群中。然後重複上述操作直到所有頂點都已被加入到群中。

2、kruskal演算法:首先,將每個頂點放入其自身的資料集合中。然後,按照權值的公升序來選擇邊。當選擇每條邊時,判斷定義邊的頂點是否在不同的資料集中。如果是,將此邊插入最小生成樹的集合中,同時,將集合中包含每個頂點的聯合體取出,如果不是,就移動到下一條邊。重複這個過程直到所有的邊都探查過。

3.設計

(一)prim演算法
int

prim

(int e[

][maxx]

,int n)

mst[1]

=0;for

(i =

2; i <= n; i++)}

cout <<

"v"<< mst[minid]

<<

"-v"

<< minid <<

"="<< min << endl;

sum +

= min;

lowcost[minid]=0

;for

(j =

2; j <= n; j++)}

}return sum;

}

(二)kruskal演算法
int kruskal()

}return sum;

}

4.分析

[演算法複雜度推導]

5.原始碼

實驗一作業

資料結構實驗報告 一 實驗一 線性表的基本操作實現及其應用 1 熟練掌握線性表的結構特點,掌握順序表的基本操作。2 鞏固 c 相關的程式設計方法與技術。3 學會使用順序表解決實際問題。建立 n 個元素的順序表 n 的大小和表裡資料自己確定 實現相關的操作 輸出,插 入,刪除,查詢等功能。編寫完整程式...

一 PTA實驗作業

本週要求挑選3道題目寫設計思路,除錯過程。設計思路用偽 描述。題目選做要求 順序表選擇一題 6 2,6 3,7 1選一題 單鏈表選擇一題 6 1不能選 有序表選擇一題 6 3 jmu ds 順序表刪除重複元素 6 2 jmu ds 單鏈表逆置 7 1 兩個有序鍊錶序列的合併 二.設計思路 偽 或流程...

實驗作業 鎖屏應用一

一 實驗 部分 meactivity import android.os.bundle import android.os.handler import android.os.message import android.annotation.suppresslint import android....