-1
我试图实现Dijkstra的算法,以找到网格(x,y)中2点之间的最短路径,但问题是,我只能上移,下移,右边和左边。Dijkstra在Java中的算法与障碍矩阵
我有一个ArrayList包含我需要传递的点的x和ys以及另一个网格上障碍点的ArrayList,我试图编写一个返回需要的运动的ArrayList的函数为了完成所有的路径。
例如:1,1,1,2,3,4,1 .. 1是右边2左边,3上来,最后是4下来。
您能否给我提供一些提示和/或示例。
对于具有单位长度边缘的网格的子图,您不应该使用dijkstra;改用BFS。原因是优先级队列会给你一个与简单队列完全相同的边界。 –
@ G.Bach我同意。 A *搜索是一个BFS(最佳优先搜索)算法。 – Daniel
@丹尼尔其实A *是一个知情的dijkstra(当所有v使用A *和h(v)= 0时,你会得到dijkstra) – amit