A*算法走迷宫实现实例
A*算法
简介
A*算法是最流行也是最强大的问题解决(problem-solving)算法之一。它是一个全局搜索算法,可以被用于解决一般问题,包括寻路。
全局搜索算法可以大概分成深度优先和广度优先两种。深度优先算法会先深入一条路径直到尽头,而广度优先会在每一步都穷举所有的可能,然后才进入下一步运算。单纯的深度优先或者广度优先算法的问题在于算法复杂度会很快随着地图上结点数量的增加而迅速增长(O(n2))。
A*算法的原理是在搜寻过程中的每一步都估计一个评分,然后选择一个最优的结点进行下一步运算;如果最终找不到路径,就返回到上一级结点,选择下一个最优的结点继续,直到达到目的结点为止。
用户评论
就算法层面来说,还是符合了 自动机的input-output原理;代码层面上来说,注释不够明确,结构也稍稍有点混乱。不过算法的结果至少是正确的。
可以运行,写的也还不错
跟我们的要求有出入,借鉴了一下,能用
解释的不够详细,得要自己慢慢理解。
展现效果好。但是不给注释,不是好习惯呵呵