数据结构课程设计用C#语言解决最短路径问题.docVIP

数据结构课程设计用C#语言解决最短路径问题.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计用C#语言解决最短路径问题

《数据结构》单元设计报告 单元设计任务书 软件学院 软件开发与项目管理专业 课程名称 数据结构单元设计 时间 2011学年第下学期13周 学生姓名 指导老师 XXX 题 目 用C#语言解决最短路径问题 主要内容:  最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径 要求: (1)通过实际的分析、设计、、试,掌握。 (2)按要求编写课程设计报告书,能正确设计。1)单元设计设计附件()一个弗洛伊德一个最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。 算法具体的形式包括:   确定起点的最短路径问题 - 即已知起始结点,求最短路径的问题。   确定终点的最短路径问题 - 与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。    确定起点终点的最短路径问题 - 即已知起点和终点,求两结点之间的最短路径。 全局最短路径问题 - 求图中所有的最短路径。 功能名称 产生最短路线及最短距离 功能描述 输入起始位置v0,得到该点到所有点的最短路线,及距离 输入数据 数字v0 v0{v0`vn} 事件流 1.运行程序,提示输入一个数字n; 2.提交数字后,按输出数据的要求显示输出结果。 输出数据 1.以多行形式输出路线及距离。 思路提示 求解的很多,这里采用: 按路径长度递增次序产生最短路径算法:   把V分成两组:   (1)S:已求出最短路径的顶点的集合   (2)V-S=T:尚未确定最短路径的顶点集合   将T中顶点按最短路径递增的次序加入到S中,   保证:(1)从源点V0到S中各顶点的最短路径长度都不大于   从V0到T中任何顶点的最短路径长度   (2)每个顶点对应一个距离值   S中顶点:从V0到此顶点的最短路径长度   T中顶点:从V0到此顶点的只包括S中顶点作中间   顶点的最短路径长度   依据:可以证明V0到T中顶点Vk的最短路径,或是从V0到Vk的   直接路径的权值;或是从V0经S中顶点到Vk的路径权值之和 3 概要设计 3.1 数据结构与数据存储表示 这方面使用二维数组n[MAX][MAX]来静态存储不超过MAX行MAX列的距离方阵。 3.2 程序结构 主要使用与实现如下类: (1)界面类MagicSquareCon,用于调用业务类,实现最短路线,及距离的输出。 (2业务类Dijkstra,用于实现需求分析的功能,主要包括以下方法或属性: int[] PathArc: 路径下标的数组ShortPathTable 存储到各点最短路径的权值和ShortPath(int init) 计算init 点到各顶点的最最短路径 3.3 函数逻辑功能调用图 图3.1 逻辑功能调用图 4 详细设计 int[] PathArc路径下标的数组V8的最短路径为v8-v7-v6-v3-v4-v2-v1-v0,即v0-v1-v2-v4-v3-v6-v7- -v8。 (2)int[] ShortPathTable 存储到各点最短路径的权值和ShortPath(int init) 计算init 点到各顶点最短路径的方法,构造函数调用。 3.4 程序执行流程图 5 运行环境与结果 5.1程序运行环境: VS2008 VS2005开发平台。 5.2 程序运行结果 (1)运行程序,根据提示输入指令,当v0=0时,程序运行结果如图4.2.1所示 5 结束语 本次单元设计我选择了一个最短路径的算法实现。通过不懈的努力终于掌握这两个经典的算法 迪杰斯特拉(Dijkstra)、弗洛伊德在编程实现的过程中,我进一步掌握和熟悉了而为数组的应用,并熟悉了将问题分解在组装的解决方法和函数的调用。 通过这次课程设计,使我们学到了一些以前没有学过的知识,使我们对程序设计有了更深层次的认识和理解,懂得了灵活运用。 最后,由衷的向我的指导老师表示衷心的感谢,是她的指导和要求,才使我的课程设计有了较为完善的一面,才有了我能力的提高,并使我得到了充分的锻炼,同时也感谢我的同学,是他们帮助我解决了一些问题。 参考文献 [1]黎明志. 数据结构—用C语言描述. 北京:中国水利水电出版社,2006,1 附录 源程序代码 // 程序名称:SortPath // 程序功能:最短路线 // 程序作者:HYH // 最后修改日期:2011-12-2 二维数组构造图: using System; using System.Collections.Generic; using Sys

文档评论(0)

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

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

1亿VIP精品文档

相关文档