数据结构课设之校园导航系统(迪杰斯特拉算法)

一、需求分析

介绍学校的主要地点和这些地点的特点,以及从一个地点到达另外一个地点的最短路径。

二、系统设计

1.理论依据

根据设计要求分析校园导航系统的设计要求,掌握设计中所设计到的无向网的建立,遍历,求最短路径的基本算法,阐明设计原理

2.方案设计

根据设计要求确定导航系统中建立学校平面图的图形数据结构,查询给定建筑信息,找出任意起始点与终点的最佳路径等基本功能实现的方案,画出流程图,并对各部分功能进行说明

3.程序设计

设计一个校园导航系统,能咨询学校主要地点,以及从一个地方到另一个地方最短路径,针对最短路径问题,在本系统中采用图的相关知识,以解决在实际情况中最短路径问题,本系统包括定向导航和不定向导航求最短路径两个问题,针对以上两个问题,本系统采用了迪杰斯特拉算法,并为本系统设置了一系列的人性化提示,方便使用者使用

4.程序调试

对编写的软件程序,进行调试,根据结果,完善程序功能。

三、程序流程

四、实现代码(需下载)

五、测试

程序进入时的初始页面

校园导航的主功能页面

校园导航查询景点信息的页面

找出最短路径和查询距离的功能页面

定向导航页面

不定向导航页面

返回主界面并退出

小结:

通过一周的课程设计,我学会了如何写一个精简、快速、健壮的程序。一个好的程序应该是一个所占空间小、运行时间短、其他性能也好的程序。而要做出一个好的程序则应该通过对算法与其数据结构的时间复杂度和空间复杂度进行实现与改进。然而,实际上很难做到十全十美,原因是各要求有时相互抵触,要节约算法的执行时间往往要以牺牲更多的存储空间为代价:而为了节省存储空间又可能要以更多的时间为代价。因此,只能根据具体情况有所侧重:如果程序的使用次数较少,则应该力求算法简明易懂,而易于转换为上机程序;如果程序反复多次使用,则应该尽可能选用快速算法;如果解决问题的数据量极大,机器的内存空间较小,则在编写算法时应该考虑如何节省空间。  本次课程设计培养了了我们独立思考的能力,提高了我们的动手操作水平。在具体设计操作中,我们巩固了本学期所学的数据结构与算法的理论知识,进一步提高了自己的编程能力。这也是课程设计的最终目的所在。通过实际操作,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。  但在程序设计的过程中我也深刻的感受到自己实力的不足,无法灵活的运用各种工具和函数,对于课程所讲的东西也无法在脱离课本的情况中完成,我意识到自己在今后的学习生活中,一定要勤于思考,扎实掌握理论知识,灵活运用课上所学的东西,做一个优秀的程序员。,也不要放弃说不定下一秒就会成功了。

总之,这次的C++课业设计经历,让我不仅在专业知识方面有了收获,而且思想方面也有收获。

  • 21
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忧郁的叮当猫

Thanks♪(・ω・)ノ

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值