最小生成樹一Prim演算法

2021-08-21 21:33:18 字數 801 閱讀 4965

題目一堆廢話,直接看輸入輸出:

輸入在一組測試資料中:

第1行為1個整數n,表示小hi擁有的城市數量。

接下來的n行,為乙個n*n的矩陣a,描述任意兩座城市之間建造道路所需要的費用,其中第i行第j個數為aij,表示第i座城市和第j座城市之間建造道路所需要的費用。  n<=10^3

輸出對於每組測試資料,輸出1個整數ans,表示為了使任意兩座城市都可以通過所建造的道路互相到達至少需要的建造費用。

sample input

50 1005 6963 392 1182

1005 0 1599 4213 1451

6963 1599 0 9780 2789

392 4213 9780 0 5236

1182 1451 2789 5236 0

sample output

分析:在輸入的時候改變一下,就是最小生成樹的模板題。

#includeint m,n,count=0,sum=0,e[110][110],dis[110],book[110] = ;

int inf = 99999999;

void prim()

book[j] = 1;

count ++;

sum += dis[j];

for(k = 1; k <= n; k ++)

if(book[k] == 0 && dis[k] > e[j][k])

dis[k] = e[j][k]; }}

int main()

return 0;

}

最小生成樹一 Prim演算法

描述 小ho也是一路看著小hi玩這個遊戲過來的,於是便提出了自己的想法 為什麼一定要最少花費呢?隨便造造能過關不就行了!小hi怒道 強迫症你知道什麼意思麼?於是小ho閉嘴不敢言。小hi哼了一聲,接著道 也好,趁此機會,我可以教教你最小生成樹是什麼一回事 先說這個名字的由來,生成樹這個名詞是相對於乙個...

最小生成樹(prim演算法)

最小生成樹是資料結構中圖的一種重要應用,它的要求是從乙個帶權無向完全圖中選擇n 1條邊並使這個圖仍然連通 也即得到了一棵生成樹 同時還要考慮使樹的權最小。prim演算法要點 設圖g v,e 其生成樹的頂點集合為u。把v0放入u。在所有u u,v v u的邊 u,v e中找一條最小權值的邊,加入生成樹...

最小生成樹 Prim演算法

prim 演算法 以領接矩陣儲存 圖g bool b i 表示頂點i是否被訪問,初始化時候memset b,false,sizeof b b 0 value,表示從第0個節點開始。用value i 表示節點i到最小生成樹a中定點的最小距離。例如value 1 a 0 1 int sum記錄權值和 i...