下载此文档

最小生成树的应用.docx


文档分类:IT计算机 | 页数:约21页 举报非法文档有奖
1/21
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/21 下载此文档
文档列表 文档介绍
武夷学院
课程设计报告
课程名称:
数据结构(C言语版本)
设计题目:
最小生成树的应用
学生班级:
10计科1班
学生姓名:
陈娟,谢贤根,黄伟伟,陈开槟
指导教师:
林丽惠
完成日期:
2012-01-05
小权值为lowcost[v],即lowcost[v]=cost[v][closest[v]],采用邻接表作 为存储结构:
设置一个辅助数组:
lowcost域存放生成树顶点集合内顶点到生成树外各顶点的各边上的当前 最小权值;
closest域记录生成树顶点集合外各顶点距离集合内哪个顶点最近(即权值 最小)。
用prim算法构造最小生成树的过程:
五、模块划分
预处理
#include <>
#include <>
#define inf 9999
#define max 40
#define linelenght 77
建立无向图
int adjg(int g[][max]) /* 建立无向图 */
{
int n,e,i,j,k,v1=0,v2=0,weight=0;
printf("Input the number of vertices, number of the edge:");
scanf("%d,%d”,&n,&e);
while(e<=0||e>*n*(n-1)||n>=max) /*最大边数为 C 2,艮口 *n*(n-1)*/
{
error();
printf("Input the number of vertices, number of the edge:");
scanf("%d,%d”,&n,&e);
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
g[i][j]=inf; /*初始化矩阵,全部元素设为无穷
大*/
for(k=1;k<=e;k++)
{
printf("Input the %d on the edge of the starting point, terminal, weights:",k);
scanf("%d,%d,%d",&v1,&v2,&weight);
while(v1==v2||v1>n||v2>n||v1<1||v2<1)
{
error();
printf("Input the %d on the edge of the starting point, terminal, weights:",k);
scanf("%d,%d,%d",&v1,&v2,&weight);
}
g[v1][v2]=weight; /*无向网的邻接矩阵是对称矩阵*/
g[v2][v1]=weight;
}
return(n);
} /*返回顶点个数n */
输出无向图的邻接矩阵 void pri(int g[][max],int n) {
int i,j;
for(i=0;i<=n;i++)
printf("%d\t",i);
for(i=1;i<=n;i++)
printf("\n%d\t",i);
for(j=1;j<=n;j++)
/*输出无向图的邻接矩阵*/
/*输出边的权值*/
{
if(g[i][j]=inf) printf("%c\t",'\354');
else printf("%d\t",g[i][j]);
}
}
}
void prim(int g[][max],int n)
{
int lowcost[max],closest[max];
int i,j,k,min;
for(i=2;i<=n;i++)
{ lowcost[i]=g[1][i];
closest[i]=1;
}
lowcost[1]=0;
for(i=2;i<=n;i++)
{
min=inf;
k=0;
for(j=2;j<=n;j++)
边,并把权值赋给min */
/* prim 函数 */
/*初始化*/
/*标志顶点1加入U集合*/
/*形成n-1条边的生成树*/
/*寻找权值最小的一条
printf("\n");
if((lowcost[j]<min)&&(lowcost[j]!=0))
{
min=lowcost[j];
k=j;
}
printf("(%d,%d)%d\t”,closest[k],k,min);
lowcost[k]=0; /* 顶点 k 加入 U */
for(j=2;j<=n;j++) /*修改由顶点k到其他顶
点边的权值*/
if(g[k][j]<lowcost[j])
{

最小生成树的应用 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数21
  • 收藏数0 收藏
  • 顶次数0
  • 上传人shugezhang1
  • 文件大小296 KB
  • 时间2022-08-02