最大生成樹

2021-09-26 23:43:08 字數 1071 閱讀 9868

最大生成樹演算法和最小生成樹演算法幾乎一樣,只需要我們把最小生成樹演算法進行一點點改變即可。

當你用krushal演算法求最小生成樹的時候,每一次選取的邊都是最小的邊,然後再去判斷這條邊是否可以加入最小生成樹;

那麼當你每一次選擇的邊是最大的邊,然後再去判斷這條邊是否可以加入,那麼這就是最大生成樹的求取方法了;

(1)選取最長的邊,邊(3,5);

(2)選取邊(2,4);

(3)選取邊(3,4);

(4)選取邊(4,5),會構成環路,所以不能選取; 

(5)選取邊(2,3),會構成環路,所以也不能選取;

(6)選取邊(5,6);

(7)選取邊(4,6),會構成環路,所以也不能選取;

(8)選取邊(1,3);

所以最大生成樹的結果是:13+11+9+4+2=39;

#include#include#includeusing namespace std;

const int n=5000;

struct node//儲存每一條邊

a[n*10];

bool cmp(node aa,node bb)//排序

int n,m,k,t;

int f[n];//儲存每乙個點的父親節點

int getf(int v)//尋找父親節點;

int kruskal()

}if(countt==n)

return ans;

else

return -1;

}int main()

for(int i=0;i<=n;i++)//初始化,自己的父親節點是自己;

f[i]=i;

int kk=kruskal();

printf("%d\n",kk);

return 0;

}

最大生成樹

problem a 古老的羊皮卷 time limit 3 sec memory limit 128 mb description 奇奇,乙個響亮的名字在acm界.如今奇奇已經腰纏萬貫,飛黃騰達,日子過的是無比的滋潤.是什麼使他到了如此的地位?如果你要這麼問,奇奇會不假思索的告訴你 acm 是acm...

最大生成樹

include define pp make pair using namespace std typedef long long ll const int maxn 1e6 30 const int n 260000 const ll mod 1e9 7 const int inf 0x3f3f3...

matlab prime最大生成樹

最近寫了個最大生成樹,根據兩個節點之間的互資訊作為邊的權重來進行編寫。希望能夠有所幫助 思路是先放到set中乙個點,然後找到所有與set相連的邊,按照降序排列,依次選擇判斷是否滿足prime的條件 function maxtree h importdata h.mat mutualinfo impo...