欢迎来到天天文库
浏览记录
ID:11522912
大小:1.87 MB
页数:69页
时间:2018-07-12
《全国铁路运输网最佳经由问题课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、中南大学数据结构课程设计报告题目全国铁路运输网最佳经由问题学生姓名卢达明指导教师林立新学院信息科学与工程学院学号0909100129专业班级通信工程1001班完成时间2012年7月3号目录第一章课程设计题目———————————31.1问题描述1.2基本要求第二章全国铁路运输网最佳经由问题————52.1数据结构的设计2.2软件模块结构图2.3程序设计思想2.4程序流程图2.5源程序第三章程序的调试与分析与使用——————573.1调试分析与测试数据3.2用户使用手册第四章心得体会—————————————674.1心得体会第一章课
2、程设计题目1.1问题描述该题目采用我国铁路运输网的数据进行编程和运行验证。图如下(详细可在网上搜索《全国铁路局管辖线路示意图》),可以不要这么详细,只要全国的主干线就可以了。铁路运输网络中由铁路线和火车站的两个主要概念,譬如:1号铁路线表示京广线,2号铁路线表示京沪线等。铁路线对象包括铁路线编号,铁路线名称,起始站编号,终点站编号,该铁路线长度,通行标志(00B客货运禁行,01B货运通行专线,10B客运通行专线,11B客货运通行)。火车站对象包括所属铁路线编号,车站代码,车站名,车站简称,离该铁路线起点站路程及终点站路程。1.2基本
3、要求(1)基本要求查询某站所属的铁路线(2)要求具备新增铁路线的管理功能(3)要求具备新增车站的管理功能(4)针对客运,货运情况能计算任何一个起始车站到任何一个终点站之间的最短路径。并且要求能够显示出该最短路径的各个火车站的经由顺序第二章全国铁路运输网最佳经由问题2.1数据结构的设计本次采用了邻接矩阵的结构体和图的结构体用以存储图形数据。且本次图应为无相图。定义如下。typedefstruct{intid;charname[20];chardes[100];}vinfo;//站点typedefstruct{intdistance;i
4、ntkind;}ArcCell,AdjMatrix[MAX_V_NUM][MAX_V_NUM];//邻接矩阵typedefstruct{vinfovexs[MAX_V_NUM];AdjMatrixarcs;intvexnum,arcnum;}MGraph;//图最短路径查询:迪杰斯特拉算法。两站之间的所有路径:深度优先遍历。2.2软件模块结构图123452.3程序设计思想'核心问题:求最短路径(我们的程序参考的是数据结构课本中的“迪杰斯特拉算法”)数据模型(逻辑结构):带权无向图。(采用2.1中所述的结构体,并且本程序采用的是文件存
5、储数据。初次运行时需要写入站点和线路以及各方面的信息。在之后的操作中,进行的各种信息更改都会在程序运行中自动保存到文件中。)根据6的基本功能编写6个函数,再根据各个函数所需实现的功能编写所需的嵌套的函数。逐层解决。最后进行调试运行。2.4程序流程图intmain();//主函数voidwelcome();//欢迎界面voidsearch_vex_info();//站点信息介绍voidsearch_rantwo_short();//查询任意两个站点之间的一条最短简单路径voidmap_manage();//站点线路修改扩充voidse
6、arch_two_allpath();//查询两站点间所有路径voidsearch_kh_path();//客货运类别路径查询voidcreate_map();//初始化地图voidsave_map();//将程序中的图结构体写入数据文件intinput_num_check(intmin,intmax);//数字输入检验voidshortest_path_ota(intbegin);//生成某一站点到所有其它站点的最短路径数据voidmap_add_vex();//新增站点voidmap_add_road();//新增道路voidm
7、ap_revise_vex();//修改站点voidmap_revise_road();//修改道路(引导界面)voidmap_reroad_in(intvid);//修改道路(公用嵌入函数)voidmap_delete_vex();//删除站点voidmap_delete_road();//删除道路(引导界面)voidmap_re_arc(intbid,intfid,intkind,intxid);//修改道路(模块函数)若修改终点:调用前需确保xid(新终点)与原终点不相同voidDFS_allpath(intbid,intfi
8、d,intk);//寻找两点间所有路径并输出voidsearch_kh_kh(intkind);//查找所有符合类别的路径voidDFS_allpath_kh(intbid,intfid,intk,intkind);//寻找两点间所有
此文档下载收益归作者所有