| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 校园地图课程设计 -> 正文阅读 |
|
[数据结构与算法]校园地图课程设计 |
*一、需求分析* 给定校园内10个以上的地点及路径图,给出推荐路径。 要求: 构建这些地点之间的带权图,权重设置为距离或时间; 任意输入两个地点,给出推荐路径,需给出自行车和步行两种方案。 *二、设计* 设计一个对象地图 AdjacencyLis包含初始化地图信息,创建地图,计算各个顶点的最短路径,输出路径长度和信息、三个结构体EdgeNode、VertexNode、GraphAdjList分别存储下标,权值,数据,顶点,边数信息。 为了使校园导航地图使用方便,设计了图片显示和后台输入,当程序运行时,系统把校园平面地图显示出来,在后台输入需要的查看的路径。 *图片显示:* \1. 首先我用高德地图截图一张合肥工业大学的图片。 \2. 在地图旁边备注系统所需要的顶点信息,根据信息进行排序。 \3. 使用system(“mspaint 地图名字.png”)和while{1}使地图一直循环使用一直显示在我们屏幕上。 *地图(弗洛伊德算法)* *算法思想:* Floyd算法是一个经典的动态规划算法。用通俗的语言来描述的话,首先我们的目标是寻找从点i到点j的最短路径。从任意节点i到任意节点j的最短路径不外乎2种可能,1是直接从i到j,2是从i经过若干个节点k到j。所以,我们假设Dis(i,j)为节点u到节点v的最短路径的距离,对于每一个节点k,我们检查Dis(i,k) + Dis(k,j) < Dis(i,j)是否成立,如果成立,证明从i到k再到j的路径比i直接到j的路径短,我们便设置Dis(i,j) = Dis(i,k) + Dis(k,j),这样一来,当我们遍历完所有节点k,Dis(i,j)中记录的便是i到j的最短路径的距离。 *步骤:* 初始状态:Dis是记录各个顶点间最短路径的矩阵。 *地图具体设计* \1. 第一步设立三个结构体EdgeNode、VertexNode、GraphAdjList保存信息 \2. 构建地图类,包含构造函数(初始化地图)、显示函数,计算各个顶点的最短路径,输出各个顶点的最短路径。 \3. 创建地图:建立顶点表,读入顶点信息,将边表置为空表。第二步使用头插法建立边表,计算各个顶点之间的最短路径 \4. 初始化地图数据,输入定点数和边数 \5. 输出路径长度和具体路径,初始化path与dis。 \6. 输入地点序号,关闭地图,显示路径长度和具体路径。 *三、系统框架图:*
*四、属性与方法定义*
*五、调试与测试* [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r85TXgah-1649250186021)(https://raw.githubusercontent.com/lmy12367/img/main/imgimage-20220406210220832.png)] *六、参考文献* Cdsn–弗洛伊德算法 Csdn–弗洛伊德实现 Csdn–如何缓存图片 *七、感受感悟* ] *六、参考文献* Cdsn–弗洛伊德算法 Csdn–弗洛伊德实现 Csdn–如何缓存图片 *七、感受感悟* 通过这次数据结构课程设计,让我明白了的有向图和无向图的区别,通过此次课程设计帮助我复习了弗洛伊德算法、动态规划的思想、迪杰斯特拉算法在求最短路径时如何设计算法完成对最短路径的求解,我查找了资料进一步明白了动态规划的思想和完善了对图的认识。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:05:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |