91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 200KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-07
  • 語言: C/C++
  • 標(biāo)簽: 普里姆??Prim??

資源簡介

C語言,數(shù)據(jù)結(jié)構(gòu)作業(yè) 用普里姆(Prim)算法構(gòu)造最小生成樹

資源截圖

代碼片段和文件信息

#include?


#define?INFINITY?INT_MAX??
#define?MAX_VERTEX_NUM?20??

enum?GraphKind{DGDNUDGUDN};??????//圖的類型



?
typedef?struct?
{
????int?weight;?????????????????????????????????????//權(quán)值
}ArcCellAdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];?//?二維數(shù)組?

typedef?struct??
{?
????char?vexs[MAX_VERTEX_NUM];??
????AdjMatrix?arcs;??
????int?vexnumarcnum;??
????GraphKind?kind;??
}Graph;?


int?LocateVex(Graph?Gchar?u)?
{??
????for(int?i=0;i????????if(G.vexs[i]==u)?
????????????return?i;?
????????return?-1;?
}?

void?CreateUDN(Graph?&G)?
{??
????
int?ijk;
int?weight;
????char?vavb;
????printf(“請(qǐng)輸入無向圖G的頂點(diǎn)數(shù)邊數(shù)\n“);?
????scanf(“%d%d“&G.vexnum&G.arcnum);?
getchar();

????printf(“請(qǐng)輸入?%d?個(gè)頂點(diǎn)的值:\n“G.vexnum);?
????for(i=0;i {
printf(“請(qǐng)輸入第?%d?個(gè)頂點(diǎn)的值:\n“i+1);
????????scanf(“%c“&G.vexs[i]);?
getchar();
}

????for(i=0;i????????for(j=0;j????????{?
if(i!=j)
G.arcs[i][j].weight=1000;
else
G.arcs[i][j].weight=0;??
????????}?

????????printf(“請(qǐng)輸入?%d?條邊的兩個(gè)頂點(diǎn)及邊權(quán)值:\n“G.arcnum);?
????????for(k=0;k????????{?
printf(“請(qǐng)輸入第?%d?條邊的兩個(gè)頂點(diǎn)及權(quán)值:\n“k+1);
????????????scanf(“%c%c%d“&va&vb&weight);
getchar();

????????????i=LocateVex(Gva);?
????????????j=LocateVex(Gvb);?
????????????G.arcs[i][j].weight=G.arcs[j][i].weight=weight;?//?無向圖?
????????}?

????????G.kind=UDN;?
}?

int?FirstAdjVex(Graph?Gchar?v)?
{??
????int?ik;?
????k=LocateVex(Gv);?
????for(i=0;i????????if(G.arcs[k][i].weight!=0)?
????????????return?i;?
????????return?-1;?
}?
?
int?NextAdjVex(Graph?Gchar?vchar?w)?
{??
????int?ik1k2;?
????k1=LocateVex(Gv);??
????k2=LocateVex(Gw);??
????for(i=k2+1;i????????if(G.arcs[k1][i].weight!=0)?
????????????return?i;?
????????return?-1;?
}?

void?MiniSpanTree_P(Graph?G?char?u)
{
struct
{
char adjvex; //?U集中的頂點(diǎn)序號(hào)
int????lowcost; //?邊的權(quán)值
}?closedge?[MAX_VERTEX_NUM];

int?ijknlm;

//用普里姆算法從頂點(diǎn)u出發(fā)構(gòu)造網(wǎng)G的最小生成樹

k?=?LocateVex?(Gu);?

for?(j=0;j if?(j!=k)?
{
closedge[j].adjvex=u;
closedge[j].lowcost=G.arcs[k][j].weight;
}

closedge[k].lowcost?=?0; //?初始,U={u}


for?(m=1;m {
k=100;
for(i=0;i {
if((closedge[i].lowcost!=0)&&(k>closedge[i].lowcost))
{
k=closedge[i].lowcost;
l=i;
}
}?

printf(“%c%c\n“closedge[l].adjvex?G.vexs[l]);

closedge[l].lowcost?=?0;????//?第k頂點(diǎn)并入U(xiǎn)集

for?(j=0;j if?(G.arcs[l][j].weight {
closedge[j].adjvex=G.vexs[l];
closedge[j].lowcost=G.arcs[l][j].weight;
}

}
}

void?main()
{
Graph?G;
CreateUDN(G);
MiniSpanTree_P(G‘1‘);

}

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件?????184394??2008-11-30?22:27??Prime\Debug\Prime.exe

?????文件?????353280??2008-11-30?22:27??Prime\Debug\Prime.pdb

?????文件?????184393??2008-12-01?12:31??Prime\Debug\Test.exe

?????文件???????9429??2008-12-01?12:31??Prime\Debug\Test.obj

?????文件?????443392??2008-12-01?12:31??Prime\Debug\Test.pdb

?????文件??????53248??2008-12-01?12:31??Prime\Debug\vc60.pdb

?????文件???????3035??2008-12-01?12:31??Prime\Prime.cpp

?????文件???????4210??2008-11-30?22:26??Prime\Prime.dsp

?????文件????????535??2008-11-30?22:26??Prime\Prime.dsw

?????文件??????25600??2008-11-30?22:36??Prime\Prime.ncb

?????文件??????????0??2008-11-30?22:36??Prime\Prime.plg

?????文件???????3377??2008-12-01?12:29??Prime\Test.dsp

?????文件????????533??2008-12-01?12:36??Prime\Test.dsw

?????文件??????41984??2008-12-01?12:36??Prime\Test.ncb

?????文件??????48640??2008-12-01?12:36??Prime\Test.opt

?????文件????????736??2008-12-01?12:31??Prime\Test.plg

?????目錄??????????0??2009-09-21?22:09??Prime\Debug

?????目錄??????????0??2009-09-21?22:09??Prime

-----------?---------??----------?-----??----

??????????????1356786????????????????????18


評(píng)論

共有 條評(píng)論