在Dijkstra算法代码下载本文涉及到的代码。
程序代码
Dijkstra算法的程序如下:
function找图中顶点间最短距离

在这样一张图中,找到从A到D的最短距离和路径。构造邻接矩阵如下:
adj 指定起点和终点,使用上面的程序计算即可:
[结果如下:
最短距离: 22.00
路径 : 'A' 'F' 'E' 'D'
找栅格地图中两点间最短距离
如下图所示栅格地图,指定起点和终点,智能体(或机器人)只能在“上、下、左、右”四个方向移动,找出最短路径:

结果如下:

可以直接提供邻接矩阵给上面的程序,但是需要修改程序中求邻居的部分(四个方向相邻栅格中不是障碍物的栅格),同时还需要在程序中对某栅格是否是障碍物进行判断,因为是障碍物的话程序不需要对该栅格进行规划。
也可以为程序提供栅格数量(除障碍物)和每个栅格的邻居,删除程序中求邻居的部分,修改程序中邻居间的距离(比如为1)即可。
本文围绕Dijkstra算法展开,介绍了其程序代码,并展示了该算法在两个场景中的应用。一是在图中找顶点间最短距离,通过构造邻接矩阵计算;二是在栅格地图中找两点间最短路径,可通过修改程序求邻居部分或提供栅格数量及邻居信息来实现。
9370

被折叠的 条评论
为什么被折叠?



