数据结构全国交通模拟系统.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班 学号: 411417080216 学院: 华信学院 专业: 计算机科学与技术 指导: 日期:2013.06.20 目录 1 需求分析 1 1.1 概述 1 1.2 数据需求 1 1.3 功能性需求 1 1.4 其他需求 1 2 概要设计 2 3 详细设计 4 3.1 记录的定义 4 3.2 子程序说明 5 3.3 子程序的算法说明 5 3.3.1主函数流程图 6 4 系统实现 7 4.1开发环境 8 4.2运行界面 9 4.3测试用例 10 5 总 结 11 6.参 考 文 献 11 附录:源程序.........................................................................................................................11 1 需求分析 出于不同目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能短,出门旅游的游客则期望旅费尽可能省,而老年旅客则要求中转次数最少。编制一个全国城市间的交通咨询程序,为旅客提供两种或三种最优决策的交通咨询。 1.1 概述 程序的功能包括: 提供对城市信息的编辑, 提供列车时刻表和飞机航 班表的编辑,提供两种最优决策:最快到达、最省钱到达。 1.2 数据需求 输入列 车或飞机编号时需输入一个整型数据; 输入列车或飞机的费用时需输入一个实型数据;输入列车或飞机开始时间和到达时间时均需输入两个整型数据;在选择功能时,应输入与所选功能对应的一个整型数据。 1.3 功能性需求 总体功能描述 (1) 提供对城市信息进行编辑的功能。 (2) 城市之间有两种交通工具:火车和飞机。提供对列车时刻表和飞机航班进行编辑的功能。 (3) 提供两种最优决策 : 最快到达或最省钱到达。全程只考虑一种交通工具,不考虑回程;(1) 数据存储。城市信息、交通信息存储于磁盘文件。 (2) 数据的逻辑结构。根据设计任务的描述,其城市之间的旅游交通问题是典型的图结构,可看作为有向图,图的顶点是城市,边是城市之间所耗费的时间或旅费。 (3) 数据的存储结构。这里建议采用邻接表作为数据的存储结构。 (4) 用不同的功能模块对城市信息和交通信息进行编辑。(5) 最优决策功能模块。 ① 读入城市信息和交通信息,用邻接表生成含权网络,表头数组中的元素存放城市名及对方城市到达该元素所代表城市的所有信息;表头数组中的元素所对应的单链表存放与该元素所代表的城市有交通联系的城市。 ② 根据具体最优决策的要求,用Dijkstra算法求出出发城市到其它各城市的最优值,有哪些信誉好的足球投注网站过程中所经过城市的局部最优信息都保存在邻接表的表头数组中。其目的城市所代表的元素中就保存了所需的最优决策结果。③ 输出结果。从目的城市出发,有哪些信誉好的足球投注网站到出发城市,所经过的城市均入栈,再逐一出栈栈中的城市,输出保存在表头数组中对应城市的信息及最终结果。即最终所需的最快需要多长时间才能到达及旅费,或者最少需要多少旅费才能到达及时间。 (6) 主程序可以有系统界面、菜单;在程序运行过程中可以反复操作。typedef struct unDiGraph { int numVerts; //结点 costAdj cost; //邻接矩阵 }unDiGraph,*UNG; //图的定义 costAdj B,L; void pr(int i)//选择城市 void pri()//输出城市 unDiGraph *CreateCostG() 操作结果:构造带权(费用)图 返回首地址G: unDiGraph *CreateTimeG() 操作结果:构造带权(时间)图 返回首地址G: unDiGraph *CreateFlyG() 操作结果:飞机的相关信息 void Floyed(unDiGraph *D,unDiGraph *M) 操作要求:图G存在 操作结果:Floyed函数 求任意两点的最短路径 void prn_pass(int i,int j) / 基本操作:为了求从i到j的最短路径,只需要调用如下的过程 void time() 操作结果:求最少时间路径。。 void money() 操作结果:求最少花费路径 void administrator() 操作结果:管理员功能 void main()//main函数 3.3 算法说明 利用Floyed函数求带权图两点之间的最短路

文档评论(0)

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

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

1亿VIP精品文档

相关文档