下载此文档

最小生成树问题.doc


文档分类:IT计算机 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
中北大学数据结构与算法课程设计说明书 学院、系:软件学院专业:软件工程学生姓名:xx学号:xxx设计题目:最小生成树问题起迄日期:20年12月9日-20年12月20日指导教师:   20年12月20日需求分析设计内容:给定一个地区的n个城市间的距离网,用prim算法或kruskal算法建立最小生成树,并计算得到的最小生成树的代价。基本要求: (1)城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。要求在屏幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价; (2)表示城市间距离网的邻接矩阵(要求至少6个城市,10条边); (3)最小生成树中包括的边及其权值,并显示得到的最小生成树的代价。2本设计所采用的数据结构本程序设计所采用的数据结构为图。3设计思想普里姆算法4核心代码intmain()//主函数{mgraphg;vertextypeu;intk;createUDN(&g);/*生成邻接矩阵结构的图*/printf("\nThegraphis:\n");print(g);/*输出邻接矩阵*/printf("inputthecityyouwanttostart:");scanf("%s",u);/*输入最小生成树的起点*/k=locatedvex(g,u);while(k==-1){printf("thenameofthecityiswrong!\n");printf("inputthecityyouwanttostartagain:");scanf("%s",u);k=locatedvex(g,u);}minispantree(g,u);/*普里姆算法求最小生成树*/}4代码#include""#include""#definemaxnum20/*图的最大顶点数*/#defineINFINITY1000/*定义一个权值的最大值*/typedefcharvertextype[20];/*定义城市名称*/ell{intadj;/*弧的权值*/int*info;/*弧上相关信息的指针*/}ell;typedefstructarray{vertextypeadjvex;/*顶点的邻接点*/intlowcost;/*某顶点与已构造好的部分生成树的顶点之间的最小权值*/}array;typedefstruct{ vertextypevexs[maxnum];/*顶点向量*/ ellarcs[maxnum][maxnum];/*邻接矩阵*/ intvexnum,um;/*图的顶点个数和弧个数*/ arrayclosedge[maxnum];/*用普里姆算法求最小生成树时的辅助数组*/}mgraph;voidcreateUDN(mgraph*g){/*用邻接矩阵构造n个城市间的距离网g*/inti,j,m,n,k,a,b,c;vertextypex,y;printf("inputthenumberofcities(atleast6cities):");scanf("%d",&g->vexnum);/*输入城市的个数(图的顶点数)*/printf("inputthenumberofroads(atleast10road

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

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wsh309048309
  • 文件大小57 KB
  • 时间2020-03-17