下载此文档

最小生成树.doc


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
《数据结构课程设计》姓名: 刘欢学号: 201001051118 班级: 信管 10-1 班成绩: 信息科学与工程学院 2012年6月22日最小生成树的克鲁斯克尔算法的实现一、需求分析若要在 n个城市之间建设通信网络,只需要架设 n-1 条线路即可。如何以最低的经济代价建设这个通信网,是一个最小生成树的问题。本课程设计就是为了解决这个问题的。二、概要设计 ADT { 数据对象: D= { ia | ia? int,i =1,2,3...n,n ? 0} 数据关系: R={< 1?ia , ia >| 1?ia , ia? D, 1?ia < ia ,i=2...n} 基本操作: void (MGraph &G) ; 操作结果:创建图 G 基本操作: int LocateVex(MGraph G,char *v) ; 操作结果:定位和 v匹配的节点,如果有返回其位置,否则返回 0 基本操作: void select(MGraph G,int &v1,int &v2) ; 操作结果:找到 v1,v2 之间的路径最小值基本操作: void keluskar(MGraph G); 操作结果:克鲁斯克尔算法求最小生成树} Int main(){ (G);// 创建一个图; keluskar(G);// 克鲁斯克尔算法生成最小生成树; } 三、详细设计 、节点类型、指针类型 typedef struct ell{ float adj;// 无权图为 1或 0,有权图为权重 char info[30];// 该弧相关信息}ell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; typedef struct { char vexs[MAX_VERTEX_NUM][20];// 顶点向量,如 v1,v2,... 等 int vexs_tap[MAX_VERTEX_NUM];// 新加入的标志元素 AdjMatrix arcs; int vexnum,um; }MGraph; int LocateVex(MGraph G,char *v){ int i,num=-1; for(i=0;i<;i++){ if(strcmp(v,[i])==0) {//相等时为 0,大于为正,小于为负 num=i;break; }} if(num<0){ cout<<" 没有匹配的顶点,输入错误!"<<endl; return -1; } Else return num; } void (MGraph &G){ int i,j,k,s=0; int IncInfo=-1;//IncInfo 为 0则各弧不含其它信息,有信息则为其他数字 char v[2][20];// 存放一条边的两个顶点 char *p; float w;// 输入的权重 int direct=-1;// 有向图为 1,无向图为其他数字//char temp[100][20];// 这个 temp 不能放到本函数内,or,[i] 引用他时,赋了值,//scanf(&,&,&IncInfo); cout<<" 构建有向图请输入数

最小生成树 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人yixingmaoh
  • 文件大小0 KB
  • 时间2016-07-12