四种算法是DFS,BFS,Heuristic DFS, Heuristic BFS (A*)
用了两张障碍表,一张是典型的迷宫:
char Block[SY][SX]=
{{1,1,1,1,1,1,1,1,1,1,1 },
{1,0,1,0,1,0,0,0,0,0,1 },
{1,0,1,0,0,0,1,0,1,1,1 },
{1,0,0,0,1,0,1,0,0,0,1 },
{1,0,1,1,0,0,1,0,0,1,1 },
{1,0,1,0,1,1,0,1,0,0,1 },
{1,0,0,0,0,0,0,0,1,0,1 },
{1,0,1,0,1,0,1,0,1,0,1 },
{1,0,0,1,0,0,1,0,1,0,1 },
{1,1,1,1,1,1,1,1,1,1,1 }};
第二张是删掉一些障碍后的:
char Block[SY][SX]=
{{1,1,1,1,1,1,1,1,1,1,1 },
{1,0,1,0,1,0,0,0,0,0,1 },
{1,0,1,0,0,0,1,0,1,1,1 },
{1,0,0,0,0,0,1,0,0,0,1 },
{1,0,0,1,0,0,1,0,0,1,1 },
{1,0,1,0,0,1,0,1,0,0,1 },
{1,0,0,0,0,0,0,0,1,0,1 },
{1,0,1,0,0,0,1,0,1,0,1 },
{1,0,0,1,0,0,1,0,0,0,1 },
{1,1,1,1,1,1,1,1,1,1,1 }};
结果:
尝试节点数 合法节点数 步数
深度优先 416/133 110/43 19/25
广度优先 190/188 48/49 19/15
深度+启发 283/39 82/22 19/19
广度+启发 189/185 48/49 19/15
所以可以看出深度+启发是最好的,效率高路径也挺短。A*第一是不真实二是慢三是空间消耗较大。
附:dfs+heu的源程序,bc++ 3.1通过
分享到:
相关推荐
A星寻路算法案例 A星寻路算法案例 A星寻路算法案例 A星寻路算法案例 A星寻路算法案例 A星寻路算法案例 A星寻路算法案例
3dA*自动寻路算法 这个就放着,,以后用的着自己下,没别的用途
下载本程序仅可演示A*自动寻路算法实现(java),该程序是基于我写的网络版贪吃蛇基础上编写的(网络版贪吃蛇...wasd键控制太阳的方向,鼠标左击目的地,会根据A*自动寻路算法计算出一条最优路线,太阳按最优路线移动。
上下左右四方向走迷宫&寻路算法,可改为8方向,C语言编写。
基于navmesh的导航寻路算法,根据生成的导航网格实现寻路算法,该算法短小性能优秀。
改变A*寻路算法中的估价函数打造连连看的寻路算法 源码
游戏开发中经常用到的寻路算法!主要是人物、地图、寻路等详细介绍!
没积分了,下不了资源,只求一分,A*寻路算法 源码 c#
六边形A*寻路算法源码(As3版本)在六边形战棋类游戏中可以使用
VB 中的A星寻路算法 用了折半快速插入有序队列可以很快的添加结点数据 数组是以距离从大到小的一个有序队列 每次取数组中最后的数据,可以快速删除 例如:redim preserve A(ubound(A)-1)
C#实现4种经典迷宫生成算法和迷宫寻路算法,4种经典的迷宫生成算法是:(1)使用并查集算法生成,(2)使用深度优先算法生成,(3)使用随机算法生成,(4)使用递归切割算法,而迷宫寻路使用A*算法。
包含深度,广度和A*寻路算法的源码,适合初学者参考
A*寻路算法实现,模拟寻路算法,描述了A*寻路算法的具体实现可以在unity运作文件,可以到看到A*寻路算法的原理
代码中实现了3种寻路算法AStar,AStar_Direct,BStar() 在VS2019环境下运行,建议以release方式运行,DEBUG没有调会崩溃
矢量寻路源码由 翼尘 Leo泥偶原创...原创矢量寻路算法,可以用于各种游戏的自动寻路系统,改进之后还可以有其他用途,核心代码在Role类中,具体实现请访问: http://blog.csdn.net/u011351840/article/details/9280705
用于游戏的寻路算法。以方向的形式寻路.格式形式的寻路算法,只支持八个方向
寻路算法 寻路封装
a*算法 绝对经典 C#源码有不懂得可以问我
一个简单的A*寻路算法 适合初学寻路算法者阅读
A星C++A行算法 寻路算法 代码很少 很经典