交通咨询系统数据结构c语言 联系客服

发布时间 : 星期一 文章交通咨询系统数据结构c语言更新完毕开始阅读7a35e2c3dd3383c4bb4cd2c0

分析:Floyd函数里修改长度时少写了一层循环,加上之后就好了。 问题3:输出城市代码对照表时出错。

分析:pri函数中调用pr函数时,pr函数应写到循环里边,我写到了循环外边。

4.2 算法时空分析

(1)迪杰斯特拉求单源最短路径的算法:

对于n个顶点,每次求的V1到某个V顶点的最短路径时,第一个for循环的时间复杂度是O(n),内层for循环的时间复杂度是O(n),所以总的时间复杂度是O(n2)。

(2)弗洛伊德求两点间最短路径的算法:

对于n个顶点,循环求最短路径是,第一个for循环时间复杂度是O(n),内层又有两个for循环,其时间复杂度是O(n2),所以总的时间复杂度是O(n3)。

(3)弗洛伊德求两点间最小花费的算法:

对于n个顶点,此算法和求两点间最短路径算法时间复杂度一样,也是O(n3)。

4.3 算法改进

在这个交通咨询系统中,创建图时,我是在程序里对图进行了初始化,赋予了一定的权值,这样不利于图的更新和再创建,系统功能还不是很完善。

求两点间最短路径和最小花费都用到了弗洛伊德算法,由于我编程的经验不足,对函数参数传递理解的还不够透彻,所以用了两次弗洛伊德算法,这一点上还有待改进。

4.4 经验和体会

经过这些天的设计,这个交通咨询系统已经实现。这个设计可以实现用户输入指令,系统进行相应的查询功能。

学习数据结构对我后继学习其它课程也有很大的帮助,因为运用数据结构可以编出更“好”的程序。以前学习C语言时,只会编写简单的小程序,对于那些大点的程序,如果不用数据结构,程序就会显得臃肿、杂乱无章。以前只是一味的编程,学了数据结构之后,我明白了程序中的各个部分在计算机中是怎么存储的,明白了怎么编写程序可以降低程序的时空复杂度让程序看起来更有条理。

此次课程设计,给我提供了一个既动手又动脑,独立实践的机会。我回顾了C语言编程的方法和编程的思想,并运用数据结构的知识使程序的时空复杂度都有所降低。这次课程设计让我更深刻地理解了迪杰斯特拉算法和弗洛伊德算法求最短路径的问题,而且在编程的过程中,更加锻炼了我的思维模式,让自己的思维更有条理,写出的程序也

11

更简单明了。课程设计中,我将学到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程序整体设计的把握,理论与实践相结合。通过此次课程设计,让我明白了数据结构的重要性,同时也提高了我分析问题、解决问题的能力。我会再接再厉,编写出更好的程序。

5 测试结果

(1) 系统运行首页面如图5-1所示:

图5-1 系统首页图

(2) 选择“1”,系统会给出城市代号对照表并提示用户输入城市起点代号,运

行截图如图5-2所示:

图5-2 选择“1”功能运行图

(3) 输入城市代号“1”,系统会给出“1”到所有城市的最短路径以及路径长度,

运行截图如图5-3所示:

图5-3 求单源最短路径输出图

12

(4) 选择功能“2”,并输入城市起点和终点代号“1”和“4”,系统会给出最

短路径和最短路径长度,运行截图如图5-4所示:

图5-4 求两点间最短路径输出图

(5) 选择功能“3”,并输入城市起点和终点代号“3”和“7”,系统会给出最

小花费和相应的路径,运行截图如图5-5所示:

图5-5 求两点间最小花费输出图

参考文献

[1] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2010. [2] 蒋清明,向德生. C语言程序设计[M].北京:人民邮电出版社,2008. [3] 尹德淳,龙脉工作室.C函数速查手册[M].北京:人民邮电出版社,2009. [4] 李玲玲.C程序设计[M].北京:清华大学出版社,2011. [5] 陈雁.数据结构[M].北京:高等教育出版社,2004. [6] 张磊.C程序设计教程[M].北京:中国铁道出版社,2007.

[7] 严蔚敏,米宁.《数据结构习题集》[M].北京:清华大学出版社,2009年. [8] 黄同成,黄俊民,董建寅.数据结构[M].北京:中国电力出版社,2008年. [9] 谭浩强.C程序设计[M].北京:清华大学出版社,2008.

[10] 刘振鹏,张晓莉,郝杰.数据结构[M].北京:中国铁道出版社,2003年.

13

《数据结构课程设计》评分标准

学号 程序运行情况 (占总成绩20%) 能正确运行 基本能正确运行 能运行但结果不完善 程序功能的完善程度 (占总成绩15%) 完善 基本完善 不完善 程序结构的合理性 (占总成绩15%) 合理 基本合理 不太合理 数据结构的合理性 (占总成绩25%) 正确应用并有创新 正确应用 基本正确应用 学生的工作态度与 独立工作能力 (占总成绩10%) 工作态度认真能独立完成任务 工作态度认真但独立性较差 工作态度基本认真但缺乏独立性 设计报告的规范性 (占总成绩15%) 符合规范 基本符合规范 规范性较差 成绩等级 指导老师签字 总分 时间 姓名 得分 优秀:90分~100分 良好:80分~89分 中等:70~79分 及格:60~69分 不及格0分~59分