一实验名称:
采用普里姆算法求最小生成树
二实验内容:
编写一个程序实现求带权连通图最小生成树的普里姆算法,输出从顶点0出发的一颗最小生成树。
算法及UML图:
算法:
void GreatAdj(AdjGraph *&G,int A[MAXV][MAXV],int n,int e)
{
int i,j;
Arcnode *p;
G=(AdjGraph *)malloc(sizeof(AdjGraph));
for(i=0;i<n;i++)
G->adjlist[i].firstarc=NULL;
for(i=0;i<n;i++)
for(j=n-1;j>=0;j--)
{
if(A[i][j]!=0&&A[i][j]!=INf)
{
p=(Arcnode *)malloc(sizeof(Arcnode));
p->adjvex=j;
p->weight=A[i][j];
p->nextarc=G->adjlist[i].firstarc;
G->adjlist[i].firstarc=p;
}
}
G->n=n;
G->e=e;
}
void