一、问题描述
设计一个校园导游系统,为来校参观的人们提供建筑和道路信息查询服务。
地图采用类似如上的校园地图。
- 功能描述
- 设计一个所在学校的建筑和道路平面图,所含建筑不少于10个,并建立全局坐标,按照全局右手定则确定角度;
- 存储各建筑点的信息,包括位置坐标(二维)和简要介绍(例如:G栋,理学楼);
- 提供图中任意建筑点的相关信息查询,即输入关键字可输出相关信息(例如:输入G栋;给出结果:G栋,理学楼,坐标(2, 3));
- 提供图中多个建筑点的最佳访问路线查选,即求途经n(任意)个景点的最短路径,并给出所经过的点的方位和长度。(给定开始和结束景点,并一共包含n个景点,从A栋到G栋,途径A-B-C-D-F-G,在B点位于A点30°方向并距离A点5);
- 提供任意建筑点问路查询,即查询某个建筑到其他任意一个建筑点的最短路径,并按照路径长度从小到大的顺序排列(不能使用迪杰斯特拉算法)。
- 实现提示
- 以图中顶点表示校内各建筑点,存放建筑名称、代号、简介等信息,以边表示道路,存放道路长度等相关信息
- 一般情况下,校园道路是双向通行,可设校园平面图是一个无向网,顶点和边均含有相关信息
二、程序部分
免费的,不需要c币
见如下链接(太长自取):https://download.csdn.net/download/qq_40262372/14896229
三、解答步骤
3.1 储存与输出景点信息:
3.2 多个建筑点的最佳访问路线查选:
给定起始点与终点后,途径n个景点的个数与起始点到终点的每条路径的景点数N={Ns1 , Ns2
, Nsi}
可分以下三种情况讨论,程序框架图如图3-1:
下面图分别为框架图的三种情况:
3.2.1 n∉N
3.2.2 n∈N(N集合无重复元素n)
3.2.3 n∈N(N集合有重复元素n)(并可输出所有路径供游客选择,且输出最短路径)
3.3 提供任意建筑点问路查询(从小到大排序):
程序框架图如3-2,其中16为地图中的景点总数;程序运行截图如图3-3。
图3-2 建筑点问路查询的程序框架图
图3-3 程序运行截图
四、各种类型的高频面试题汇总:
https://blog.csdn.net/qq_40262372/article/details/112556249
五、如有疑问可加QQ群讨论:725936761 博主免费答疑
欢迎大家一起讨论进步。后续遇到相似的题会继续更新!
为了鼓励大家坚持,当天打卡人数超过一半,群主发一个红包(群主是学生),激励大家坚持下去!希望以后找工作的时候大家能互捞一下~~~
群里已有字节、滴滴大佬,可帮忙内推!也欢迎其他大厂的工作人士进群!帮忙内推~