智慧景区
题目要求
现有一个景区,景区里面有若干个景点,景点之间满足以下条件:
(1) 某些景点之间铺设了道路(相邻)
(2) 这些道路都是可以双向行驶的(无向图)
(3) 从任意一个景点出发都可以游览整个景区(连通图)
开发景区信息管理系统,对景区的信息进行管理。使用图的数据结构来保存景区景点信息,为用户提供创建图、查询景点信息、旅游景点导航、搜索最短路径、铺设电路规划等功能。
功能实现
(1) 读文件创建图
输入:从Vex.txt文件中读取景点信息,从Edge.txt文件中读取道路信息。
处理:根据读取的景区信息创建景区景点图。
(2) 查询景点
输入:想要查询的景点的编号。
处理:根据输入的景点编号,查询该景点及相邻景点的信息。
输出:
① 景点名字
② 景点介绍
③ 相邻景区的名字
④ 到达相邻景区的路径长度
(3) 旅游景点导航
输入:起始景点的编号。
处理:使用深度优先搜索(DFS)算法,查询以该景点为起点,无回路游览整个景区的路线。
输出:所有符合要求的导航路线。
(4) 搜索最短路径
输入:
① 起始景点的编号
② 终点的编号。
处理:使用迪杰斯特拉(Dijkstra)算法,求得从起始景点到终点之间的最短路径,计算路径总长度。
输出:
① 最短路线
② 路径总长度
(5) 铺设电路规划
处理:根据景区景点图使用普里姆(Prim)算法构造最小生成树,设计出一套铺设线路最短,但能满足每个景点都能通电的方案。
输出:
① 需要铺设电路的道路
② 每条道路铺设电路的长度
③ 铺设电路的总长度
(6) 修改图保存文件
插入、删除、修改顶点、边的信息,注意顶点和边的关系,之后保存文件,重新读取文件建立图的存储结构并显示。
话不多说:看代码
链接附上了
智慧景区数据结构C++代码