用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c代码库

用Prim算法建立最小生成树(邻接矩阵)

2012-10-11 作者: 神马举报

[c]代码库

void Prim(int gm[ ][MAXNODE],int n,int closevertex[ ])
{/*用Prim 方法建立有n 个顶点的邻接矩阵存储结构的网图gm 的最小生成树*/
    /*从序号为0 的顶点出发;建立的最小生成树存于数组closevertex 中*/
    int lowcost[100],mincost;
    int i,j,k;
    for ( i=1; i<n; i++ ) /*初始化*/
{
lowcost[i]=gm[0][i];
	closevertex[i]=0;
}
lowcost[0]=0; /*从序号为0 的顶点出发生成最小生成树*/
closevertex[0]=0;
for ( i=1; i<n; i++ ) /*寻找当前最小权值的边的顶点*/
{
mincost=MAXCOST; /*MAXCOST 为一个极大的常量值*/
j=1;
k=1;
while ( j<n )
	{
		if ( lowcost[j]<mincost && lowcost[j]!=0 )
		{
			mincost=lowcost[j];
			k=j;
		}
		j++;
	}
	printf ( “顶点的序号=%d 边的权值=%d\n”,k,mincost );
	lowcost[k]=0;
	for ( j=1; j<n; j++ ) /*修改其它顶点的边的权值和最小生成树顶点序号*/
		if ( gm[k][j]<lowcost[j] )
		{
			lowcost[j]=gm[k][j];
			closevertex[j]=k;
		}
}
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...