日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

最小生成树实验

發(fā)布時間:2025/5/22 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最小生成树实验 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、實驗目的

1.進一步掌握圖的結構及非線性特點,遞歸特點和動態(tài)性。

2.進一步鞏固最小生成樹的兩種求解算法。

二、實驗原理

從任意一頂點 v0 開始選擇其最近頂點 v1 構成樹 T1,再連接與 T1 最近頂點 v2 構成樹 T2, 如此重復直到所有頂點均在所構成樹中為止。

最小生成樹(MST):權值最小的生成樹。

生成樹和最小生成樹的應用:要連通n個城市需要n-1條邊線路。可以把邊上的權值解釋為線路的造價。則最小生成樹表示使其造價最小的生成樹。

構造網(wǎng)的最小生成樹必須解決下面兩個問題:

1、盡可能選取權值小的邊,但不能構成回路;

2、選取n-1條恰當?shù)倪呉赃B通n個頂點;

MST性質(zhì):假設G=(V,E)是一個連通網(wǎng),U是頂點V的一個非空子集。若(u,v)是一條具有最小權值的邊,其中u∈U,v∈V-U,則必存在一棵包含邊(u,v)的最小生成樹。

prim算法假設G=(V,E)是連通的,TE是G上最小生成樹中邊的集合。算法從U={u0}(u0∈V)、TE={}開始。重復執(zhí)行下列操作:

在所有u∈U,v∈V-U的邊(u,v)∈E中找一條權值最小的邊(u0,v0)并入集合TE中,同時v0并入U,直到V=U為止。

此時,TE中必有n-1條邊,T=(V,TE)為G的最小生成樹。

?Prim算法的核心:始終保持TE中的邊集構成一棵生成樹。

注意:prim算法適合稠密圖,其時間復雜度為O(n^2),其時間復雜度與邊得數(shù)目無關,而kruskal算法的時間復雜度為O(eloge)跟邊的數(shù)目有關,適合稀疏圖

三、參考程序

#include<stdio.h>
#define max 7
int quan[max][max];//放權值
int useing[max],used[max];//useing表示已經(jīng)被選中的節(jié)點,used表示未被選中的節(jié)點
struct biao{
int index;
int quanzhi;
}b[max-1];//用來存放quanzhi數(shù)組中某一行的數(shù)據(jù),
void tree(){
int min=1000,j,miny,minx=1,i=0,k,uing=1,ud=1,count=0,z,t=0,w=0;
//min=1000表示路不通。 minx表示第幾行,miny 表示第幾列,count用來計算總的最小權值
while(true){
i=minx;
useing[uing]=i;//把被選中的節(jié)點給useing我們從1節(jié)點開始
uing++;
for(k=1;k<max;k++){
if(minx==used[k]){
used[k]=1000;//如果節(jié)點亦被選中把該位置=1000

}
}


printf("\n i--%d\n",i);
for(k=1, j=1;j<max;j++,k++){//給b數(shù)組初始化
b[k].index=j;//下表給它
b[k].quanzhi=quan[i][j];//權值給他

}//for
min=1000;
for(k=1;k<max;k++){//尋找與該節(jié)點相連的權值最小的那個節(jié)點
if(min>b[k].quanzhi){
min=b[k].quanzhi;
miny=k;//記錄下該節(jié)點的下表
}
}

quan[i][miny]=1000;
quan[miny][i]=1000; //把找到的節(jié)點的數(shù)=1000;
printf("\n---1---\n");

/*

printf("\n min--%d\n",min);
printf("\n minx--%d\n",minx);
for(i=1;i<max;i++){
printf("%d\t",b[i].quanzhi);
}
printf("\n");
for(i=1;i<max;i++){
for(j=1;j<max;j++)
printf("%d\t",quan[i][j]);
printf("\n");
}
*/

minx=miny;//把找到的節(jié)點的下表給minx,為了便利找到該節(jié)點的最小權值
z=0;
for(i=1;i<max;i++){
if(miny==useing[i]){//形成環(huán)路了
z=1;
w=1;

}

}
if(z==1){
for(i=1;i<max;i++){//從還未 被趙國的節(jié)點再次開始開始
if(used[i]!=1000){
minx=used[i];//把未被選中過的下標給minx

used[i]=1000;//并把used該位置=1000
break;
}
}
}

// useing[uing]=minx;
// printf("\n using--%d\n",uing);
// uing++;




count=count+min;//求最小權值總和
// printf("\n--count-%d---\n",count);
if(t==6)//結束循環(huán),
break;
t=0;
for(i=1;i<max;i++){//判斷所有頂點是否全被便利過
if(used[i]==1000){
t++;
}

}
if(w==1){//減去那個形成環(huán)路時多加的權值
count=count-min;

}
w=0;

}
for(i=1;i<max;i++){
printf("%d\t",useing[i]);
}
printf("\n");
for(i=1;i<max;i++){
printf("%d\t",used[i]);
}
printf("\n");

printf("\n--count1-%d---\n",count);
}


int main(){
int i,j,t=0,number,weight;;
for(i=0;i<max;i++){
for(j=0;j<max;j++)
quan[i][j]=1000;
}
for(i=0;i<max;i++){
used[i]=i;
useing[i]=0;
}

FILE *fr;

fr = fopen("D:\\123.txt","r");
if(!fr)
{
printf("fopen failed\n");
}
while(fscanf(fr,"%d%d%d", &i, &j, &weight) != EOF)
{
quan[i][j] = weight;
quan[j][i] = weight;
}

for(i=1;i<max;i++){
for(j=1;j<max;j++)
printf("%d\t",quan[i][j]);
printf("\n");
}
for(i=1;i<max;i++){
printf("%d\t",useing[i]);
}

for(i=1;i<max;i++){
printf("%d\t",used[i]);
}
tree();
return 0;

}

轉載于:https://www.cnblogs.com/huifeidezhuzai/p/9278962.html

總結

以上是生活随笔為你收集整理的最小生成树实验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品无套 | 国产裸体无遮挡 | 成人在线观看网站 | 欧美熟妇激情一区二区三区 | 免费国产视频 | 九九亚洲视频 | 美女露隐私网站 | 免费观看nba乐趣影院 | 亚洲国产私拍精品国模在线观看 | 亚洲久热 | 国产精品色视频 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 久久久国产精品黄毛片 | 国产乱码精品1区2区3区 | 精品国产aⅴ一区二区三区东京热 | 超碰伊人| 国产毛片毛片毛片毛片毛片 | 超碰8| 国产又粗又黄又爽又硬 | 射婷婷 | 亚洲精品国 | 亚洲第一综合网站 | 日韩欧美一区二区免费 | 欧洲自拍一区 | 免费黄色av网站 | 原创少妇半推半就88av | 在线精品免费视频 | 少妇网站在线观看 | 性福宝av | 亚洲黄色在线观看视频 | 激情视频在线免费观看 | 97视频久久久 | 日韩一片 | 欧美精品自拍视频 | 另类视频在线观看+1080p | 青青草一区二区 | 成人a级片 | 欧美成人亚洲 | 黄色不卡| 欧美天堂| 日本视频网站在线观看 | 天天综合欧美 | 国产亚洲欧美一区二区 | 欧美xxxxhd| 亚洲视频一区二区三区 | 欧美双性人妖o0 | 一级片播放 | 色玖玖综合 | 亚洲精品福利在线观看 | 波多野结衣视频免费 | av网址导航 | 亚洲av无码一区二区乱子伦 | 春色激情站| 精品日韩一区二区 | 好看的中文字幕电影 | 一区二区三区视频观看 | 国产 欧美 日韩 一区 | 亚洲国产永久 | 亚洲91精品 | 果冻传媒18禁免费视频 | 欧美男女啪啪 | 另类天堂网 | 日本精品视频一区二区三区 | 色哟哟国产 | 99爱在线| 爱爱视频在线免费观看 | 精品国产一二三区 | 国产一二三四五区 | 嫩草国产精品 | 香蕉视频免费在线播放 | 欧美激情久久久久 | 私人网站| 夜夜嗨一区二区三区 | 99精品在线观看 | x88av视频 | 国产黄色免费在线观看 | 天堂网91 | 日日操日日碰 | 2023av在线| 欧美日韩中文字幕在线 | 日韩大胆视频 | 日韩不卡高清 | 日韩中文字幕高清 | 性调教学院高h学校 | 亚洲精品视频在线观看视频 | 久久免费看少妇高潮 | 可以免费观看av的网站 | 老外黄色一级片 | 欧美体内she精高潮 日韩一区免费 | 日韩不卡一二三 | 色综合五月 | 蜜臀在线观看 | 午夜视频福利在线 | 欧美1| 2019毛片| 色999在线| 国产日韩欧美电影 | 欧美视频免费在线观看 | 男人影院在线 |