我正在使用A星算法,其中有一个2D网格和一些障碍物。现在,我只有垂直和水平的障碍物,但它们可能会变得很密集。
现在,A星算法效果不错(即对大多数情况找到了最短路径),但如果我尝试从左上角到达右下角,则有时会发现路径不是最短的,即路径存在某些不必要的绕路。
路径似乎偏离了最短路径。
现在这里是我用算法正在做的事情。我从源点开始,向外移动并计算邻居的值,计算距离源点+距离目标点的距离,选择最小的单元格,重复执行直到遇到的单元格是目标点,在此处停止。
我的问题是,为什么不能保证A星算法给我最短路径。或者是吗?我做错了什么吗?
谢谢。