1复件 《数据结构》课程设计报告模板.docVIP

1复件 《数据结构》课程设计报告模板.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
河 南 工 程 学 院 《数据结构》课程设计 成果报告 姓 名 谷云龙 学 号 201310913112 学 院 计算机学院 专业班级 计算机科学与技术 1341 专业课程 数据结构 指导老师 李 芳 2015年 1月9日 河南工程学院计算机学院 课程设计报告书 课程设计题目: 最小生成树问题 课程设计时间: 1月5日~1月9日 课程设计地点: 3号实验楼C412 课程设计单位: 计算机学院 指导教师: 李芳 学院院长: 曲宏山 本组组长 张 亚 阁 本组成员 谷云龙 郑莹莹 设计题目 最小生成树问题 本人分工 算法设计,代码编制 考核项目 考核内容 得分 平时考核 (30分) 设计思想 (20分)需求分析能力,算法分析设计能力 编码、调试分析 (30分)编制代码能力,调试分析能力 文档资料 (20分)表达能力、文档写作能力和文档的规范性 总评成绩 指导教师评语: 等 级: 评阅人: 职称: 副教授 年 月 日 目 录 1 设计目标 1 2 课题分析与设计 1 2.1 课题需求分析 1 2.2 存储结构设计 1 2.3 算法设计 2 2.4 程序流程图 5 3 程序清单 7 4 测试 12 4.1 测试数据 12 4.2 测试结果及分析 12 5 总结 14 5.1 收获 14 5.2 不足 15 5.3 算法改进分析 15 1 设计目标 本课程设计的目的是了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;训练用系统的观点和软件开发一般规范进行软件开发 2 课题分析与设计 2.1 课题需求分析 (1)?建立一个图,其存储方式可以采用邻接矩阵形式或者邻接表;? (2)?利用普利姆算法或者克鲁斯卡尔算法求出网的最小生成树;? (3)?输入各城市的数目以及各个城市之间的距离。将城市之间的距离当做网中各点之间的权值。按顺序输出生成树中各条边以及它们的权值。 2.2 存储结构设计 由于各城市间的路径类似网,所以可以用图的结构存储城市信息,城市间的距离可以用距离网中的边表示,边的权值表示两地间的直接路径,弱一个城市可以到达另一个城市,则两城市间可以互相到达,故可以直接用无向图表示,且相互对称;? 存储结构定义如下: typedef?struct?node?/*构造一个结构体,两个城市可以看成起点和终点,之间的道路可以看成一个边*/? {?int?str;?/*起点*/??int?end;?/*终点*/??int?dis;/*距离*/?}node;?? node?p[max],temp;??/*p记录城市信息*/?? int?pre[100],rank[100];/*用于判断是否构成回路*/? int?n=0,arcs[MAX_LNT][MAX_LNT];/*n表示城市个数,arcs[][]记录城市间权值*/?? 2.3  (2)克鲁斯卡尔算法设计? a.?设置计数器E,初值为0,记录已选中的边数。将所有边从小到大排序,存于p[?]中。? b.?从p[?]中选择一条权值最小的边,检查其加入到最小生成树中是否会构成回路,若是,则此边不加入生成树;否则,加入到生成树中,计数器E累加1。? c.?从E中删除此最小边,转b继续执行,直到k=n-1,?算法结束?? d.?判断是否构成回路的方法:?? void?Kruskal(???)?? ?{? ??int?ans?=?0,i,j,k?=?0;??/*ans用来记录生成最小树的权总值*/??int?index;? ??int?count?=?0;????/*记录打印边的条数*/? ??for(i?=?1;i?=?n;i?++)??????/*初始化数组pre[x],rank[x]*/????

文档评论(0)

chqs52 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档