輸入:乙個加權連通圖
演算法思路:將圖分為兩個部分,乙個是已經進入最小生成樹的部分a,乙個是還未進入最小生成樹的部分b
現在我們在連線a和b的邊中找到一條最小的,並把它加入最小生成樹中
重複這個過程直到所有點都進入最小生成樹
初始化:將第乙個點的資料放入最小生成樹即可
數學證明:
反證法:假設prim生成的不是最小生成樹
1).設prim生成的樹為g0
2).假設存在gmin使得cost(gmin)0) 則在gmin中存在不屬於g0
3).將加入g0中可得乙個環,且不是該環的最長邊(這是因為∈gmin)
4).這與prim每次生成最短邊矛盾
5).故假設不成立,命題得證.
**模板:
long prime(int n,int graph[maxn][maxn])
long cost(0);
for (int i=1;i<=n;i++)
cost+=d[i];
return cost;
}
最小生成樹 Prime演算法
對於乙個圖,它的所有生成樹中必有乙個 邊的權值最小 的生成樹,我們把它稱為最小生成樹。概念很抽象,換做實際問題 有十個城市,各個城市之間距離或遠或近。需要建設乙個道路網,把十個城市連線在一起,要求道路網的道路長度最小。各個城市的連線可以抽象為乙個圖,本質上即是求該圖的乙個最小生成樹。每乙個圖可能有多...
最小生成樹 prime演算法
問題 c 建立通訊 時間限制 1 sec 記憶體限制 128 mb 提交 7 解決 4 提交 狀態 討論版 題目描述 據不完全統計,受 影響,四川大部分災區通訊陷入癱瘓,數千個基站因斷電 傳輸中斷等原因退出服務,目前總公司已緊急部署對受災地區進行通訊搶修。按照應急通訊保障預案,必須盡快 付出代價最小...
最小生成樹 prime演算法
生成樹頂點集合,初始只含起點 v0。visit i 1 i點已在生成樹中 lowcost i 生成樹中的點 到頂點 i 的最短距離。演算法過程 1.初始化生成樹,一開始只將起點 v0 加入到 樹中。2.初始化 lowcost 陣列,初值為 v0 到各頂點的距離,無邊則為 inf。重複以下步驟,直到所...