数据结构课程设计-安徽省铁路运输网最佳经由(编辑修改稿)内容摘要:

伊德算法 ) 数据模型 (逻辑结构 ):带权有向图 输入输出:初始数据是从 、 、 三个文件中读入,在读入数据后,用户可以根据选项选择相应的功能,不同的功能有不同的数据输入 /输出,比如:查询的功能是要求输入要查询的站的名称,然后输出是该站的相关信息;查询最 int count。 int path[SIZE_view];短路径的功能则是输入起点站、终点站的名称,输出则是该段 路线距离和经由站等。 程序的输入: 计算机与信息工程系 《数据结构》课程设计报告 6 ( 1)铁路线信息的输入:依次输入“铁路线代码 ,铁路线名称,起始站代码 , 终点站代码,该铁路线长度、通行标志” ,并且中间以空格隔开。 ( 2)火车站信息的输入:依次输入“车站代码,车站名,车站编号、车站简称,所属铁路线编号” ,并且中间以空格隔开。 程序的输出格式; ( 1)当显示铁路线或者火车站的信息时,与输入时的格式完全一致 ; ( 2)输出最短路径的长度,以及最短路径的经由顺序; 按照程序功能要求,设计了一下各个功能模块: ( 1)文件读取模块 文件读取模块包括读取车站信息 模块 readviews、路段权值信息读取模块readlines、铁路线信息读取模块 readlines。 这些模块的主要功能为从文件中读取所需的信息。 ( 2)添加信息模块 adddata 添加信息模块又包括以下子功能模块: A、添加站点信息模块 addview。 B、添加路段权值模块 addway。 C、添加铁路线信息模块 addline。 ( 3)查询模块 根据用户需求,查询站点信息 ( 4)最短路径查询模块 该模块为本软件设计的核心部分。 根据该模块可以很方便的找出两个城市的最短路径。 该最短路径的算法为常用的弗洛伊 德算法。 ( 5)操作菜单模块 该模块主要用于与用户的交互,一个界面友好的菜单可以提高软件的人机交互体验。 软件模块结构 (1)主程序模块,其中主函数为: oid main() { 新增火车站;新增铁路线;查询火车站的信息; 针对客运、货运情计算机与信息工程系 《数据结构》课程设计报告 7 况,求两站之间的最短路径及其经由顺寻;退出界面 } (2)文件模块为 :void readways(); void readviews(); void readlines() (3)图模块为: void short_path(); void floyed() (4)查询函数和添加函数 void search(); void adddata(in menu); void addway(); void addline(); void addview() 函数的调用:进入主函数,调用文件模块各函数以读取数据; 选择 1 或 2,则调用 void adddata(in menu),其中若选择 1,则调用 void addview()函数; 若选择 2,则调用 void addline()和 void addway()函数; 选择 3,调用 void search()函数进行查询; 选择 4,调用 void short_path()和 void floyed()函数以得到最短路径。 4 程序调试分析 测试数据 数据读取如下: 图 2:数据读取显示 计算机与信息工程系 《数据结构》课程设计报告 8 图 3:操作界面显示 : 输入 1,增加车站信息如下: 计算机与信息工程系 《数据结构》课程设计报告 9 图 4:增加车站信息 输入 2,增加铁路线信息如下: 图 5:增加铁路线信息 输入 3,查询车站信息如下: 图 6:查询车站信息 计算机与信息工程系 《数据结构》课程设计报告 10 输入 4,查询最短路径如下: 图 7:查询最短路径 输入 5,退出界面如下: 图 8:退出界面显示 时间复杂度分析 程序中图的存储结构为带权邻接矩阵, 其中对邻接矩阵的初始化的时间复杂度为 O(n*n)。 在求最短路径的时候, 用的是弗洛伊德算法,时间复杂度主要在于计算机与信息工程系 《数据结构》课程设计报告 11 求每一站到任意站的最短路径由是的 for 循环,那有三个 for 循环,所以时间复杂度为 O(n3)。 上机过程中出现的问题及其解决方案 ( 1)刚刚看到题目要求的时候就想到了弗洛伊德算法,但是不知道如何去做,在网站搜索到类似代码,经过修改后,最终得出了源程序。 ( 2)源程序可以运行的时候,忘记添加相关文本文件,所以运行文件的时候会提示文件打开失败,无法进行接下来的功能使用,这时候才想起来要自行添加相关的文本文档,接着问题就解决了。 ( 3)在 文本文档中添加各 站权值的时候,一开始不知道如何添加,经过思考和查询课本后,明白了添加权值时是以各站编码代表各站,由于是有向图,所以需要添加两站往返权值。 ( 4)在输入信息时,由于是输入汉字,系统不稳定,容易出现刷屏,这个问题 ,我是向学长寻求帮助并得以解决的。 5 小 结 本次课程设计我做的是安徽省铁路。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。