> # ♻️ 资源
> **大小:** 66.3KB
> **文档链接:**[**https://www.yuque.com/sxbn/ks/100013257**](https://www.yuque.com/sxbn/ks/100013257)
> **➡️ 资源下载:**[**https://download.csdn.net/download/s1t16/88304850**](https://download.csdn.net/download/s1t16/88304850)
> **注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!**
> ![qrcode_for_gh_d52056803b9a_344.jpg](https://cdn.nlark.com/yuque/0/2023/jpeg/2469055/1692147256036-49ec7e0c-5434-4963-b805-47e7295c9cbc.jpeg#averageHue=%23a3a3a3&clientId=u8fb96484-770e-4&from=paste&height=140&id=u237e511a&originHeight=344&originWidth=344&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=8270&status=done&style=none&taskId=ud96bf5f7-fe85-4848-b9c2-82251181297&title=&width=140.1999969482422)
# **数据结构课程设计---校园导游咨询系统**需求分析报告
#### 一、课题内容分析
- 设计内容:设计一个**大学校园导游程序,为来访的客人提供各种信息查询服务。
- 具体功能有:
- (1)设计**大学的校园平面图,以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
- (2)为来访客人提供图中任意景点相关信息的查询。
- (3)为来访客人提供图中任意景点的问路查询,即查询任意两相景点之间的一条最短的简单路径。
- (4)提供图中任意景点问路查询,即求任意两个景点之间的所有路径。
- (5)提供校园图中多个景点的最佳访问路线查询,即求途经这多个景点的最佳路径。
#### 二、设计思路
- 校园导游咨询系统模型是由景点和景点之间的路径组成的,所以可以用图的数据结构来实现。用图的结点代表景点,用图的边代表景点之间的路径。首先设计一个图类,结点值代表景点信息,边的权值代表景点间的距离。结点值及边的权值使用文件存储,通过读取文件来获取景点信息和景点之间的距离。计算任意两景点之间的最短路径可以使用Floyd算法实现,使用深度优先遍历算法来实现两景点之间的所有路径。最后用switch选择语句来执行不同编号的功能。
#### 三、系统模块划分
![11.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1693962617311-a23fa006-f0ba-4a56-b8dd-f805d7a95541.png#averageHue=%2390875e&clientId=uf03dbb97-2a56-4&from=paste&height=378&id=u86d1f764&originHeight=472&originWidth=763&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=47149&status=done&style=none&taskId=ua0d2e7b2-6506-4422-9ded-a77aeae8c5a&title=&width=610.4)
#### 四、需求分析
##### 3.1 所需知识点
- (1) 图的各种遍历算法
- (2) 单源最短路径(Dijkstra算法)
- (3) 所有顶点对的最短路径(Floyd算法)
- (4) 图的基本存储结构(邻接矩阵)
- (5) 文件的读取存储操作
- (6) 界面交互
##### 3.2 数据结构
- 本课题用到的数据结构是图的数据结构,其中用到的是图的邻接矩阵存储结构。
```c
typedef struct { /*存放景点信息的结构体*/
int num; /*景点代号*/
char name[20]; /*景点名称*/
char intro[200]; /*景点简介*/
}vertextype;
typedef int edgtype; /*权值类型*/
typedef struct { /*校园景点图结构体*/
vertextype vexs[M]; /*顶点信息域*/
edgtype edge[M][M]; /*邻接矩阵*/
int vexNum, edgNum; /*图中顶点数和边数*/
}mgraphtype;
```
##### 3.3 基本算法实现
```c
int menu(); /*主菜单*/
void Create_Map(mgraphtype *g); /*从文件读取信息建立图*/
void Print_Map(); /*显示校园景点地图*/
int Judge_Input(int num); /*判断输入的编号是否合理*/
void Search_Location(mgraphtype *g); /*景点信息查询*/
void ShortPath(mgraphtype *g); /*求景点间最短路径*/
void Floyd_Print(mgraphtype *g, int sNum, int eNum);/*递归打印两点间最短路径*/
void Shortpath_Print(mgraphtype *g); /*输出并打印两点间的最短路径*/
void Dfs_Print(mgraphtype *g, int sNum, int eNum);/*深度优先遍历查询两景点间所有路径*/
void Allpath_Print(mgraphtype *g); /*查询两顶点间的所有路径并打印*/
void BestPath(mgraphtype *g); /*多顶点间求最佳路径*/
void System_Exit(int *q); /*退出系统*/
```
##### 3.4 系统开发平台要求
- 基于 Visual Studio 2017的C语言进行系统开发。
##### 3.5 参考书籍
- [1] 李云清,杨庆红.数据结构(C语言版).北京:人民邮电出版社,2014.
- [2] 严蔚敏,吴伟民.数据结构(C语言版).北京:清华大学出版.1997.
- [3] 周海英,马巧梅,靳雁霞.数据结构与算法设计.北京:国防工业出版社,2009.
#### 五、项目附加功能
- 登录系统,保障校园导游咨询系统的安全运行。
- 公告栏,使游客及时了解学校动态,便于游客的游览。
- 管理员系统,及时发布公告信息和对景点的有效管理。
#### 六、小组分工情况
- 组长 (A):界面实现和多个景点的最佳访问路线查询。
- 组员1 (B):任意两个景点之间的所有路径。
- 组员2 (C):查询任意两个景点之间的一条最短的简单路径。
- 组员3 (D):图中任意景点相关信息的查询。
神仙别闹
- 粉丝: 4215
- 资源: 7516
最新资源
- 基于自抗扰控制器ADRC的永磁同步电机FOC 1.转速环采用ADRC,和传统PI进行对比来分析ADRC控制性能的优越性 对ADRC中的ESO进行改进,进一步提高了ADRC性能; 2.三种速度控制器进
- 基于Python实现对房价的预测源码+全部数据+报告文档(期末大作业).zip
- openssl-1.1.1l.zip
- 基于Python实现对房价的预测源码+全部数据(期末大作业).zip
- 《Spark大数据分析源码解析与实例详解》图书配套实例资源.zip
- 一个非常小巧,绿色, 好用 的发包工具,支持tcp/udp, 支持服务端和客户端,支持自定义 发包内容
- 基于线性扩张状态观测器和滑模观测器的永磁同步电机无感FOC 1.采用线性扩张状态观测器和滑模观测器实现中高速下无感FOC;两种不同的无感算法进行对比;锁相环技术标幺化处理提取转子位置信息; 2.转速环
- 一个大数据实时流处理日志分析系统 Demo.zip
- comsol变质量注浆理论,根据魏建平《裂隙煤体注浆浆液扩散规律及变质量渗流模型研究》,考虑不同注浆压力,进行了不同压力下的注浆封堵模拟,沉积颗粒浓度随着注浆压力增大会变大,渗透率负相关 模型 模型
- 关于wlinux定制系统安装系统日志syslog、net-tools、chroynd等系统工具说明
- 一个开源的全栈大数据项目,主要包含实时数据采集,机器学习,大数据处理,前端可视化.zip
- Chinese.isl
- 抖音直播录制免费软件,直播流录制,自动检测开播
- 一个轻量级的大屏数据展示方案.zip
- 污水处理出水总磷预测中的正则化回声状态网络研究
- 基于LADRC-非线性ESO的永磁同步电机无感FOC 电机参数采用袁磊老师书上的 1.采用非线性扩张状态观测器ESO实现中高速下无感FOC;对锁相环技术标幺化处理提取转子位置信息; 2.转速环采用线性
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈