合工大離散數學實驗 油管實驗

2021-10-10 07:44:21 字數 1113 閱讀 2794

實驗準備

最小生成樹問題,求最小生成樹的prim演算法

實驗目的

運用最小生成樹思想和求最小生成樹程式解決實際問題

實驗過程

八口海上油井相互間距離如下表,其中1號井離海岸最近,為5km。問從海岸經1號井鋪設油管把各井連線起來,怎樣連油管長度最短(為便於檢修,油管只准在油井處分叉)?

prim演算法原理:

1)以某乙個點開始,尋找當前該點可以訪問的所有的邊;

2)在已經尋找的邊中發現最小邊,這個邊必須有乙個點還沒有訪問過,將還沒有訪問的點加入我們的集合,記錄新增的邊;

3)尋找當前集合可以訪問的所有邊,重複2的過程,直到沒有新的點可以加入;

4)此時由所有邊構成的樹即為最小生成樹。

#include using namespace std;

#define max 100

#define maxcost 100000

double gph[max][max];

double prim(double graph[max], int n)

mintree[1] = 0;

for(i=2; i<=n; i++)

}cout << "v" << mintree[minid] << "-v" << minid << "=" << min << endl;

sum += min;

shortcost[minid] = 0;

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

return sum;

}int main()

}cout<< "請輸入兩節點及之間的權值:" <> i >> j >> cost;

gph[i][j] = cost;

gph[j][i] = cost;

}cost = prim(gph, m);

cout << "最小權值和為:" << cost 執行截圖:

離散數學實驗

include using namespace std char c 5 5 int banqun 0 是否為半群 int duyi 0 是否為獨異點 int yao 確定么元 void ifre for int j 0 j 4 j if flag else cout 每行每列都不存在重複元素 vo...

離散數學實驗一

usr bin env python coding utf 8 time 2020 9 18 09 33 author albert darren file 離散數學實驗一.py software pycharm 實驗1 defexperiment1 loop count 4 truth value...

離散數學實驗報告存檔

2018離散數學實驗報告存檔 旅行經銷商問題 函式addpace用來將權重相加 return addpace int conpace int str 6 conpace 函式用來比較各個城市的最短路,得出最優路 return min void main void flag陣列用來判斷選擇的城市是否已...