2弗洛伊德算法求解最短路径.docVIP

  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文档。上传文档
查看更多
2弗洛伊德算法求解最短路径

课程设计任务书 课程设计名称 数据结构课程设计 专业 计算机科学与技术 (物联网方向) 学生姓名 班级 学号 题目名称 最短路径求解 起止日期 2015 年 1 月 5 日起至 2015 年 1 月 16 日止 课设内容和要求: 内容:给出一张无向图,图上的每个顶点表示一个城市,顶点间的边表示城市间存在路径,边上的权值表示城市间的距离。试编写程序求解从某一个城市出发到达任意其他任意城市的最短路径问题。 要求: 能够提供简单友好的用户操作界面,可以输入城市的基本信息,包括城市名称,城市编号等; 利用矩阵保存城市间的距离; 利用Floyd算法求最短路径; 独立完成系统的设计,编码和调试; 系统利用C语言完成; 按照课程设计规范书写课程设计报告。 参考资料: 《算法与数据结构》 《C语言程序设计》 教研室审核意见: 教研室主任签字: 指导教师(签名) 年 月 日 学 生(签名) 年 月 日 目 录 第1章 概要设计 1 1.1题目的内容与要求 1 1.2总体结构 1 第2章 详细设计 2 2.1主模块 2 2.2构建城市无向图 3 2.3添加城市 4 2.4修改城市距离 5 2.5求最短路径 6 第3章 调试分析 7 3.1 调试初期 7 3.2 调试中期 7 3.3 调试末期 7 第4章 测试及运行结果 7 附页(程序清单) 10 第1章 概要设计 1.1题目的内容与要求 内容:给出一张无向图,图上的每个顶点表示一个城市,顶点间的边表示城市间存在路径,边上的权值表示城市间的距离。试编写程序求解从某一个城市出发到达任意其他任意城市的最短路径问题。 要求: 能够提供简单友好的用户操作界面,可以输入城市的基本信息,包括城市名称,城市编号等; 利用矩阵保存城市间的距离; 利用Floyd算法求最短路径; 独立完成系统的设计,编码和调试; 系统利用C语言完成; 按照课程设计规范书写课程设计报告。 1.2总体结构 本程序主要分为四个模块(功能模块见图1.1):主模块对整个程序起一主导作用,开始构建一城市无向图,对其进行添加城市顶点,以及对原来的距离数据进行修改,整体构建结束可以实现求一城市到其他城市的最短路径问题。 图1.1 功能模块图 第2章 详细设计 2.1主模块 用户根据屏幕上显示的操作提示输入要进行操作的模块,通过调用相对应的模块程序,达到用户所想进行操作。程序的总框架大致分为四个模块:1.建立城市无向图2.添加城市模块3.修改城市距离4.求最短路径。具体实现过程见2.2:建立城市无向图2.3:添加城市2.4:修改城市距离2.5:求最短路径。流程图中通过输入n,由n的值来选择调用相对应子函数,实现所选择的功能,调用完后可以返回调用主函数进行下一次选择,从而实现反复调用子函数而实现四个模块的功能等。 图2.1 主模块流程图 2.2构建城市无向图 根据提示输入城市,对城市无向矩阵图进行初始化,开始g.v[m][n].path的路径值赋为-2表示p城到q城间中间没有可达的路径不经过其他城市,而g.v[m][n].distance赋值为0表示p到p的距离为0。流程图中的MAX表示的是最多的城市数量,其值为20;p,q表示城市的编号,而path和distance分别表示的路径和城市间距离。g.v[p][q].distace表示p、q代表的城市间的距离 图2.2 构建城市无向图流程图 否 是 否 是 2.3添加城市 用户根据提示输入想要添加到无向图中的城市,根据屏幕中的提示输入与之邻接的城市间的距离,然后添加城市距离矩阵图中;同时将g.v[m][n].path赋值为-1即表示p城到q城有路可达且最短路径无需经过其他城市。需注意的是当g.v[m][n].distance=0表示p城到q城的距离为0,当g.v[m][n].distance=99999,则表示p城到q城距离无穷大即表示他们

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档