Chinaunix首页 | 论坛 | 博客
  • 博客访问: 326116
  • 博文数量: 93
  • 博客积分: 2515
  • 博客等级: 少校
  • 技术积分: 1025
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-18 22:51
文章分类

全部博文(93)

文章存档

2010年(2)

2009年(26)

2008年(65)

我的朋友

分类:

2008-07-31 07:59:53


int prim(int c[N][N]) {
 int lowcost[N];
 int closest[N];
 int i,j,k,min;
 for(i=0;i    lowcost[i]=c[0][i];
 closest[i]=0;
 }
 closest[0]=-1;
 for(j=0;j  min=32767;
  k=0;
  for(j=0;j   if(closest[j]!=-1 && lowcost[j]    min=lowcost[j];
    k=j;
   }
  if(k) {
  printf("(%d,%d)  %d\n",closest[k],k,lowcost[k]);
  closest[k]=-1;
  for(j=1;j   if(closest[j]!=-1&&c[k][j]    lowcost[j]=c[k][j];
    closest[j]=k;
    }
   }
  }
 return 0;
 }
 
 
 
 
 
 
 
 
2

#define   MAXE  100

struct   edges

{

  int  bv,tv,w;

};

typedef  struct  edges  edgeset[MAXE];

int  seeks(int  set[],int v)

{

  int I=v;

  while (set[i]>0)

  i=set[i]

  return(i);

}

kruskal(ge,n,e)

int n,e;

edgeset ge;

{

  int set[MAXE],v1,v2,i,j;

for(i=1;i<=n;i++)

s[i]=0;

i=1;

j=1;

while(j

 {

   v1=seeks(set,ge[i].bv);

v2=seeks(set,ge[i].tv);

if(v1!=v2)

 {

  printf(“(%d,%d)”,ge[i].bv,ge[i].tv);

  set[v1]=v2;

  j++;

}

i++;

}

阅读(1131) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~