青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

yuanyuelang

常用鏈接

統計

最新評論

最小生成樹之Kruskal算法

最小生成樹是圖論的一個重要部分,解決這個問題的算法主要有Kruskal算法和Prim算法。

最小生成樹:顧名思義是一棵樹,該樹是圖中權值和最小的。

我們先來介紹Kruskal算法,Prim算法請參閱最小生成樹之Prim算法

該算法的基本思路:貪心,如何貪心呢?
它的貪心準則是:
1.每次從剩下的邊中選擇一個不會產生環路而且權值最小的邊加入到已經選擇好的邊的集合中。
2.它需要e步的操作,e表示圖的邊數,我們可以按權值排好序后,對每一條邊進行選擇,如果加入到已經選擇好的邊中會產生回路的現象,就不要了。。。否則加入到已經選擇好的邊中。
3.我們還需用到并查集的思想,有關并查集的介紹,請查看我的另一篇博文 不相交集合數據結構
4.復雜度:O(ElgE),其中E為圖的邊數

接下來我們引用POJ上的一個經典題目來分析,題目網址http://acm.pku.edu.cn/JudgeOnline/problem?id=1861

題目大意是:題目給出的是圖的頂點和所有邊的集合,要求輸出的是最小生成樹的邊

我們來看下源碼啦:
#include<iostream>
using namespace std;
#include
<algorithm>
#include 
<memory.h>

#define MAXEDGE 15001//最大邊數
#define MAXNODE 1001 //最大節點數

int p[MAXNODE],rank[MAXNODE];//用于不相交集合
int start[MAXEDGE],end[MAXEDGE],weight[MAXEDGE],VNum,ENum;//分別為邊的起點,終點,權重,節點數和邊數
int result_s[MAXEDGE],result_e[MAXEDGE];//分別為存儲最小生成樹的起點,終點
int max_weight,id[MAXEDGE];

void make_set(int x)
{
    p[x]
=x;
    rank[x]
=0;
}


int find_set(int x)

    
if(p[x]!=x)
        p[x]
=find_set(p[x]);
    
return p[x];
}


void Union(int x,int y)
{
    x
=find_set(x);
    y
=find_set(y);
    
if(rank[x]>rank[y])
        p[y]
=x;
    
else if(rank[x]<rank[y])
        p[x]
=y;
    
else if(rank[x]==rank[y])
    
{
        p[x]
=y;
        rank[y]
++;
    }

}


bool cmp(int i,int j)//用于sort函數
{
    
return weight[i]<weight[j];
}

void Kruskal()
{
    
int i,min,index=0,count=0,k=0;
    
    max_weight
=0;
        
for(i=1;i<=VNum;i++)
          make_set(i);
    
        sort(id,id
+ENum,cmp);//對所有邊進行排序,注意id數組的妙用
    while(true){
      min
=id[index++];
      
if(find_set(start[min])!=find_set(end[min]))//對每條邊進行處理,如果起點和終點不在同一集合合并之
        Union(start[min],end[min]);
        result_s[k]
=start[min];//保存結果
                result_e[k++]=end[min];
                count
++;
        
if(max_weight<weight[min])
                max_weight
=weight[min];
       }

      
        
if(count==VNum-1break;//當邊數等于節點數-1的時候表示已經完成
    }

}






int main()
{
    
int i;
    cin
>>VNum>>ENum;
    
for(i=0;i<ENum;i++){
        cin
>>start[i]>>end[i]>>weight[i];
        id[i]
=i;
    }

        Kruskal();
        cout
<<max_weight<<endl<<VNum-1<<endl;
        
for(i=0;i<VNum-1;i++)
       cout
<<result_s[i]<<" "<<result_e[i]<<endl;
   
        
return 0;
}


posted on 2009-09-13 21:18 原語餓狼 閱讀(712) 評論(0)  編輯 收藏 引用 所屬分類: 圖論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧美日韩国产一区二区| 亚洲精品国产日韩| 激情av一区| 国产精品嫩草99a| 亚洲欧美在线另类| 亚洲欧美不卡| 亚洲一区制服诱惑| 99这里有精品| 亚洲精品一区二区三区在线观看| 国产精品久久久久毛片软件 | 最新热久久免费视频| 欧美专区第一页| 欧美18av| 久久久久欧美精品| 国内一区二区三区在线视频| 亚洲一区二区av电影| 91久久国产自产拍夜夜嗨| 久久一二三国产| 久久久久久久久蜜桃| 欧美日韩国产成人在线| 国产精品久久久久三级| 在线不卡免费欧美| 亚洲国产另类久久精品| 99精品国产热久久91蜜凸| 午夜在线播放视频欧美| 免费在线观看精品| 亚洲国产欧美一区二区三区同亚洲| 亚洲高清在线观看一区| 性xx色xx综合久久久xx| 亚洲人成网站在线播| 亚洲欧美日韩精品久久奇米色影视| 亚洲色图综合久久| 嫩草影视亚洲| 在线观看亚洲a| 欧美在线视频日韩| 欧美激情免费观看| 国产一区二区日韩精品| 妖精视频成人观看www| 欧美主播一区二区三区美女 久久精品人 | 久久久99爱| 亚洲欧美日韩国产综合在线| 欧美激情一二区| 1024成人| 欧美激情在线观看| 欧美精品 国产精品| 一片黄亚洲嫩模| 午夜国产不卡在线观看视频| 亚洲电影免费观看高清完整版在线观看 | 久久精品盗摄| aa级大片欧美| 欧美午夜视频| 亚洲婷婷综合久久一本伊一区| 国产欧美综合一区二区三区| 亚洲欧美日韩精品久久| 亚洲永久免费视频| 韩国成人福利片在线播放| 91久久精品一区| 老色鬼久久亚洲一区二区| 欧美在线三级| 亚洲午夜国产成人av电影男同| 欧美一区二区大片| 一本色道久久综合亚洲二区三区 | 中文在线资源观看网站视频免费不卡| 日韩视频一区| 亚洲国产一区二区a毛片| 亚洲专区国产精品| 国产精品99久久不卡二区| 欧美不卡高清| 欧美成人午夜激情视频| 一色屋精品亚洲香蕉网站| 亚洲一区二区免费看| 亚洲一区国产视频| 欧美激情麻豆| 91久久久一线二线三线品牌| 激情久久婷婷| 欧美激情精品久久久久久蜜臀| 久久久久国内| 91久久在线| 亚洲午夜av在线| 国产精品亚洲网站| 欧美影院视频| 亚洲成在人线av| 日韩系列欧美系列| 国产精品久久国产三级国电话系列 | 亚洲欧美日韩国产一区二区| 欧美吻胸吃奶大尺度电影| 亚洲一区二区三区视频| 久久久国产亚洲精品| 1024日韩| 国产精品久久久久久五月尺| 亚洲欧美三级伦理| 免费观看国产成人| 亚洲午夜在线视频| 在线观看久久av| 国产精品九九| 免费亚洲电影在线| 欧美专区在线观看| 亚洲一区二区三区四区中文 | 欧美精品国产一区| 午夜精品网站| 日韩视频一区二区三区在线播放免费观看 | 国产精品久久久久77777| 久久在线播放| 午夜在线观看欧美| 亚洲一本视频| 99人久久精品视频最新地址| 久久一区二区三区av| 欧美影院成人| 亚洲欧美日韩视频一区| 欧美巨乳在线| 美女主播一区| 亚洲一区图片| 亚洲欧美日韩国产另类专区| 亚洲日本欧美日韩高观看| 亚洲国产毛片完整版| 国产日韩亚洲| 国内精品久久久久影院优 | 亚洲欧美在线磁力| 亚洲女人天堂成人av在线| 99ri日韩精品视频| 亚洲视频图片小说| 欧美制服第一页| 久久婷婷综合激情| 欧美日韩1区2区3区| 国产精品国产一区二区| 国产综合色一区二区三区| 伊人成人在线| 性欧美暴力猛交69hd| 欧美亚洲午夜视频在线观看| 欧美一级理论性理论a| 欧美成人一区二区在线| 国产精品视频一区二区三区| 亚洲日本电影在线| 久久国产欧美精品| 一本色道88久久加勒比精品| 久久激情五月婷婷| 国产精品久久久久久影视| 国内免费精品永久在线视频| 亚洲一区二区精品在线| 亚洲人成网站色ww在线| 麻豆91精品| 又紧又大又爽精品一区二区| 欧美一级成年大片在线观看| 亚洲裸体在线观看| 欧美精品一区二区在线观看| 亚洲二区视频| 久热爱精品视频线路一| 欧美一区在线视频| 国产日韩一区二区三区在线| 亚洲欧美美女| 国产一区二区三区直播精品电影 | 亚洲第一色中文字幕| 亚洲愉拍自拍另类高清精品| 欧美日韩免费| 亚洲视频在线观看一区| 欧美亚洲成人免费| 亚洲精品在线电影| 亚洲国产美国国产综合一区二区| 久久一区二区三区av| 在线精品高清中文字幕| 欧美成人精精品一区二区频| 久久男女视频| 一区二区欧美激情| 99在线精品视频| 国产日本亚洲高清| 男人的天堂亚洲| 欧美日韩国产bt| 欧美一区二区三区四区视频 | 免费成人网www| 久久久久九九九| 一区二区欧美视频| 欧美一级欧美一级在线播放| 欧美多人爱爱视频网站| 午夜精品视频| 久久久久久**毛片大全| 亚洲一二三区在线| 久久久免费精品视频| 亚洲欧美另类在线| 欧美国产精品一区| 久久成人资源| 国产精品不卡在线| 亚洲精品色图| 亚洲精品美女在线观看| 中国成人在线视频| 艳妇臀荡乳欲伦亚洲一区| 乱人伦精品视频在线观看| 久久精品噜噜噜成人av农村| 国产精品国产三级国产专区53 | 欧美大秀在线观看| 久久亚洲午夜电影| 国产主播在线一区| 亚洲免费网站| 久久久久.com| 在线不卡免费欧美| 美女精品在线观看| 亚洲电影av| 午夜精品一区二区在线观看| 国产精品永久| 久久福利毛片| 另类图片国产|