C++Qt编写校园导航系统

系统要求

(1)有界面, 显示各个景点以及景点之间的路径和路径长度,边上有几个按钮和文本框,在文本框中输入遍历的起点,输入就最短路径的起点和终点, 点击按钮后在界面上用不同颜色标注出路径或铺设线路。

(2)构造图时最少6个景点,各个景点之间的距离和路径,可以通过输入来得到 ,由此构建图, 也可以把这些信息存储到一个文件中, 通过读取文件构建图, 图可以采用邻接矩阵存储

(3)给出从某一景点出发,把所有景点都反访问一遍的所有路径(即DFS),会有多条不同的路径(如何求多条路径??), 要求在界面上显示DFS的路径,不同的路径用不同颜色标注出来。(4) 在界面上输入起点和终点,从界面上用颜色标注这两景点之间的最短路径

(5)设管道实际上就是求最小生成树,可以用PRIM或KRUSKAL 算法求最小生成树,在界面上用不同颜色标注出铺设路径

(6)鼠标点击某一景点时显示该景点的一些介绍信息和门票信息

实现内容

1.使用图的DFS算法实现以某一节点为起点,在校园中游览所有地点。

2.使用图的Dijkstra算法实现从节点A到节点B的导航。

3.使用图的DFS算法+回溯法实现以某一节点为起点的所有游览路线。

4.通过Prim算法,实现管道的铺设,即最小生成树。

5.可以动态的通过鼠标在视图区域点击添加节点。

6.可以动态的通过输入指定节点/边删除节点/边。

数据存储结构

1.通过文件存储所有景点和边的数据。

2.通过邻接表记录图的信息。

3.邻接表中的节点使用结构体构建。

4.景点的具体信息使用一个自定义类Spot存储。避免直接在邻接表中存储Spot导致消耗大量内存。

界面展示

相关推荐
星夜泊客11 分钟前
C# 基础:为什么类可以在静态方法中创建自己的实例?
开发语言·经验分享·笔记·unity·c#·游戏引擎
CappuccinoRose13 分钟前
React框架学习文档(七)
开发语言·前端·javascript·react.js·前端框架·reactjs·react router
机器视觉知识推荐、就业指导17 分钟前
用惯了QTimer定时器,如何快速在纯 C++ 项目中替换?
c++
消失的旧时光-194323 分钟前
从拷贝到移动:C++ 移动构造与移动赋值是怎么被逼出来的?(附完整示例)
开发语言·c++
古译汉书23 分钟前
部分.exe文件打开但是一直显示界面,点击任务栏持续无反应
开发语言·单片机·嵌入式硬件
2301_8174973328 分钟前
C++中的装饰器模式高级应用
开发语言·c++·算法
m0_5494166632 分钟前
C++编译期字符串处理
开发语言·c++·算法
m0_5811241932 分钟前
C++中的适配器模式实战
开发语言·c++·算法
Coding茶水间38 分钟前
基于深度学习的狗品种检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
开发语言·人工智能·深度学习·yolo·目标检测·机器学习
£漫步 云端彡1 小时前
Golang学习历程【第十篇 方法(method)与接收者】
开发语言·学习·golang