演算法導論 最小生成樹之Prime法

2021-06-19 19:16:21 字數 858 閱讀 4866

關於最小生成樹的概念,在前一篇文章中已經講到,就不在贅述了。下面介紹prime演算法:

其基本思想為:從乙個頂點出發,選擇由該頂點出發的最小權值邊,並將該邊的另乙個頂點包含進來,然後找出由這兩個頂點出發的最小邊,依此類推,直至包含所有的頂點。如果期間構成環,就捨棄該邊,繼續尋找最小邊。下面以具體例項來說明演算法的過程:

具體的程式實現如下:

#include#define n 6 //頂點數

#define max 10000

typedef struct

edge;

int flag[n]=;//標誌頂點是否被選定

int flag1=0;//記錄邊的終點

int flag2=0;//記錄邊的起點

void prime(int i,int dist[n][n],edge t[n-1])

{ int j,k,min;

int num=0;

flag[i]=1;//包含頂點置為1

while(num<5)//6個頂點則有5條邊

注意最小生成樹不是唯一的,但是總權值是一樣的。

解釋說明

原文:

最小生成樹之prime演算法

在這裡我就不擺最小生成樹的定義了,對於最小生成樹,我們必須注意一下兩點 1 盡可能選取權值小的邊,但不能構成迴路。2 選取合適的n 1條邊將聯通圖的n個頂點連線起來。演算法簡單描述 1 輸入 乙個帶權連通圖,其中頂點集合為v,邊集合為e 2 初始化 vnew 其中x為集合v中的任一節點 起始點 en...

最小生成樹 Prime演算法

對於乙個圖,它的所有生成樹中必有乙個 邊的權值最小 的生成樹,我們把它稱為最小生成樹。概念很抽象,換做實際問題 有十個城市,各個城市之間距離或遠或近。需要建設乙個道路網,把十個城市連線在一起,要求道路網的道路長度最小。各個城市的連線可以抽象為乙個圖,本質上即是求該圖的乙個最小生成樹。每乙個圖可能有多...

最小生成樹 prime演算法

問題 c 建立通訊 時間限制 1 sec 記憶體限制 128 mb 提交 7 解決 4 提交 狀態 討論版 題目描述 據不完全統計,受 影響,四川大部分災區通訊陷入癱瘓,數千個基站因斷電 傳輸中斷等原因退出服務,目前總公司已緊急部署對受災地區進行通訊搶修。按照應急通訊保障預案,必須盡快 付出代價最小...