freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

圖的遍歷和生成樹求解實現(xiàn)的課程結(jié)構(gòu)設(shè)計-資料下載頁

2025-06-26 15:35本頁面
  

【正文】 值 //prevex[]存儲最短路徑的前一個結(jié)點 int i,j,k,min。 for(i=2。i=n。i++) //n個頂點,n1條邊 { lowcost[i]=g[1][i]。 //初始化 prevex[i]=1。 //頂點未加入到最小生成樹中 } lowcost[1]=0。 //標(biāo)志頂點1加入U集合 for(i=2。i=n。i++) //形成n1條邊的生成樹 { min=inf。 k=0。 for(j=2。j=n。j++) //尋找滿足邊的一個頂點在U,另一個頂點在V的最小邊 if((lowcost[j]min)amp。amp。(lowcost[j]!=0)) { min=lowcost[j]。 k=j。 } cout(prevex[k]1,k1)min。 lowcost[k]=0。 //頂點k加入U for(j=2。j=n。j++) //修改由頂點k到其他頂點邊的權(quán)值 if(g[k][j]lowcost[j]) { lowcost[j]=g[k][j]。 prevex[j]=k。 } coutendl。 } return 0。}//最小生成樹的克魯斯卡爾算法int acrvisited[max]。//克魯斯卡爾弧標(biāo)記數(shù)組int find(int acrvisited[],int f){ while(acrvisited[f]0)f=acrvisited[f]。 return f。}typedef struct acr{ int pre。//弧的一結(jié)點 int bak。//弧另一結(jié)點 int weight。//弧的權(quán)}edg。void MiniSpanTREE_KRUSCAL(MGraph_L G,ALGraph gra){ edg edgs[max]。 int i,j,k=0。 for(i=0。i!=。++i) for(j=i。j!=。++j) { if([i][j].adj!=int_max) { edgs[k].pre=i。 edgs[k].bak=j。 edgs[k].weight=[i][j].adj。 ++k。 } } int x,y,m,n。 int buf,edf。 for(i=0。i!=。++i) acrvisited[i]=0。 for(j=0。j!=。++j) { m=int_max。 for(i=0。i!=。++i) { if(edgs[i].weightm) { m=edgs[i].weight。 x=edgs[i].pre。 y=edgs[i].bak。 n=i。 } } buf=find(acrvisited,x)。 edf=find(acrvisited,y)。 edgs[n].weight=int_max。 if(buf!=edf) { acrvisited[buf]=edf。 cout(x,y)m。 coutendl。 } }}int main(){ int s。 char y=39。y39。 cout||164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。菜單164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。||endl。 cout||【0、創(chuàng)建一個無向圖||endl。 cout||【顯示該圖的鄰接矩陣||endl。 cout||【顯示該圖的鄰接表||endl。 cout||【廣度優(yōu)先遍歷||endl。 cout||【深度優(yōu)先遍歷||endl。 cout||【連通分量||endl。 cout||【最小生成樹MiniSpanTree_PRIM算法||endl。 cout||【最小生成樹MiniSpanTree_KRUSCAL算法||endl。 cout||164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。164。||endl。 cout\t\t\t在求最小生成樹前請先求連通分量!endl。 while(y==39。y39。) { cout請選擇菜單:endl。 cins。 if(s==0) { ++o。 if(o==2) { n=0。 l=0。 o=0。 } } switch(s) { case 0:cout創(chuàng)建一個無向圖:endl。 MGraph_L G。 creatMGraph_L(G)。 ALGraph gra。 creatadj(gra,G)。 break。 case 1:cout鄰接矩陣顯示如下:endl。 ljjzprint(G)。 break。 case 2: cout鄰接表顯示如下:endl。 adjprint(gra,G)。 break。 case 3: cout廣度優(yōu)先遍歷:。 BFSTraverse(gra)。 coutendl。 break。 case 4: cout深度優(yōu)先遍歷:。 DFStra(gra)。 coutendl。 break。 case 5:cout連通分量:endl。 DFSTraverse_fen(gra)。 break。 case 6: if(n==0){cout無權(quán)圖沒有最小生成樹。break。} else if(l1){cout若該圖為非強(qiáng)連通圖(含有多個連通分量)時,最小生成樹不存在endl。break。} else { int i,g[max][max]。 for(i=0。i!=。++i) for(int j=0。j!=。++j) g[i+1][j+1]=[i][j].adj。 cout普利姆算法:endl。 MiniSpanTree_PRIM(g,)。 break。 } case 7:if(n==0){cout無權(quán)圖沒有最小生成樹。break。} else if(l1){cout該圖為非強(qiáng)連通圖(含有多個連通分量),最小生成樹不存在endl。break。} else { cout克魯斯卡爾算法:endl。 MiniSpanTREE_KRUSCAL(G,gra)。 break。 } } coutendl是否繼續(xù)?y/n:。 ciny。 if(y==39。n39。) break。 } return 0。}33
點擊復(fù)制文檔內(nèi)容
數(shù)學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1