数据结构实验报告五最短路径.docxVIP

  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文档。上传文档
查看更多
实验课程名称 数据结构课程设计 专 业 班 级 学 生 姓 名 学 号 指 导 教 师 2012 至 2013 学年第 一 学期第 1 至 9 周 目录 一、概述: 3 1.1 问题描述 3 1.2 系统实现的目标 3 1.3 系统实现方案 3 二、系统分析: 4 2.1 设计思想 4 2.2 设计要求 4 2.3 需求分析 4 2.4 算法描述 5 三、概要设计: 7 3.1 程序流程图 8 四、详细设计: 9 4.1 建立图的存储结构 9 4.2 单源最短路径 9 4.3 任意一对顶点间最短路径 10 4.4 建立有向图的存储结构 11 4.5 迪杰斯特拉算法 11 4.6 弗洛伊德算法 12 4.7 运行主控程序 13 五、运行与测试: 14 六、:总结与心得 16 附录:程序代码 16 一、概述: 1.1 问题描述 在交通网络非常发达 , 交通工具和交通方式不断更新的今天 , 人们在出差、旅游或做其他出行时, 不仅关心节省交通费用, 而且对里程和所需要的时间等问题也感兴趣。对于这样一个人们关心的问题, 可用一个图结构来表示交通网络系统,利用计算机建立一个交通咨询系统。 图中的顶点表示城市, 边表示城市之间的交通关系。这个交通系统可以回答出行旅客提出的各种路径选择问题。 例如,问题之一:“一位旅客要从 A 城到 B 城,他希望选择一条途中中转次数最少的路线。 ” 假设图中每一站都需要换车,那么这个问题反映到图上就是要找一条从顶点 A 到顶点 B 的所含边数目最少的路径。 我们只需要从顶点 A 出发对图作广度优先搜索,一旦遇到顶点 B 就终止。由此所得广度优先生成树上,从根顶点 A 到顶点 B 的路径就是中转次数最少的路径。路径上 A 与 B 之间的顶点就是路径的中转站,但这只是一类最简单的图的最短路径问题。 系统还可以回答诸如此类的等等的路径选择问题。 1.2 系统实现的目标 通过进行课程设计, 了解并初步掌握设计、 实现较大系统的完整过程, 包括: 系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设 计、实现以及操作方法,为进一步的应用开发打好基础。 应用所学数据结构知识, 独立完成问题分析, 结合数据结构理论知识, 编写程序求解指定问题。 1.3 系统实现方案 首先确定系统要实现怎样的目的, 实现这些目的需要先实现哪些程序, 这就是核心部分, 划分出模块并写出其源代码, 此程序大致分了六大模块, 由一个主函数组和五个自定义函数组成, 而后是上机调试, 将几大模块组成一个协调完整的能实现其功能的程序,最后提交设计报告 二、系统分析: 2.1 设计思想 用邻接矩阵来存储交通网络图的信息, 运用迪杰斯特拉算法实现图上单源最短路径问题,然后运用费洛伊德算法实现图中任意一对顶点间最短路径问题, 这样就会实现旅客所要咨询的问题。 2.2 设计要求 该交通咨询系统要完成城市网络图的存储, 并要实现求任意一个城市顶点到 其他城市顶点的最短路径问题, 还要实现任意两个城市顶点间的 最短路径问题。故设计要分成三部分, 一是建立交通网络图的存储结构; 二是解决单源路径问题;最后再实现两个城市之间的最短路径问题。 设计要求: 建立交通网络网的存储结构。 总体设计要画流程图。 提供程序测试方案。 界面友好。 2.3 需求分析 根据要求,需要在系统中建立无向图。 系统应该有高度灵活性, 可以由用户根据当前交通网络图输入初始数据, 并且可以更改。 系统根据用户的输入建立无向图的结构, 并通过狄克斯特拉算法和弗洛伊德算法实现要求, 并提供两种功 能供用户选择 。 2.4 算法描述 构 建 录入城市及道路数据 交 交通查询系统 通 预置城市间的距离 网 狄克斯特拉算法的具体流程图 开 始 初始化距离和路 径 i=1 i++ j=1;j++;jn 修改最短路径和距离  根 据 无 查询一个城市到其它 向 城市的最短路径 图 建 立 查 查询任意两城市间的 询 最短路径 功 能 in 输出结果 弗洛伊德算法的具体流程图 开 始 初始化距离和路径 设 为从 到 的只以 集合中的节点为中间节点的最短 路径的长度 最短路径不经过点 k 最短路径经过点 k 输出结果 三、概要设计: 程序中将涉及下列两个抽象数据 型:一个是 ,一个是 列。 1、 定“ ”的抽象数据 型定 : ADT Graph{ 数据 象  V :V  是具有相同特性的数据元素的集合  , 称 点集。 数据关系  R: R={VR} VR = { v, w | v, w 谓词 P(v, w) 定义了弧 基本操作 P:  ∈ VP(v, w), v, w 表示从 v, w 的意义或信息 }  v 到  w 的弧, CreateGraph(G ,V,

文档评论(0)

159****5521 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档