我搜索了A *的算法/伪代码,然后对其进行了编码。我将曼哈顿距离用作h(n)。 (f(n)= g(n)+ h(n))
结果就是这样



当没有墙挡住路时,总是会发生这种情况,但是当我放很多墙时,似乎走的路最短。这是最短的路径吗?我的意思是为什么下面不这样呢?


这也是A * Manhattan,它们的大小相同(19x19)。这是来自http://qiao.github.com/PathFinding.js/visual/

最佳答案

两条路径的曼哈顿距离相同。因此,选择哪个路径取决于实现。为了说明为什么选择了此特定部分,我们必须查看该特定A *实现的代码。

提示:从源到目标单元格的每条路径仅使用Von Neumann neighborhood(即,不对角走动)并且不向“错误”方向迈进(即,在示例中从不走动或离开)相同的曼哈顿距离。因此,如果您在纽约,走哪个十字路口到达曼哈顿的某个地方都没关系:)

07-26 08:30