我对这一切都很陌生,如果出现明显的情况,我们感到抱歉。
我一直在四处寻找解释。我只能找到如何从一个角落到达另一个角落。或(0,0)至(n -1,n-1)。我的问题是,说我有一个4 * 4网格16个单元。我的来源为(0,1),目的地为(4,3)。每个单元格都包含一个值,我需要以最低的费用到达目的地。
0 1 2 3
_ _ _ _
0 - |2|1|3|2|
1 - |1|3|5|1|
2 - |5|2|1|4|
3 - |2|4|2|1|
我想也许可以尝试创建一个相邻的矩阵,但是我看不到它是如何工作的。 Dijkstra的算法是最好的方法吗,图是将其表示为数据结构的最好方法吗?
有没有办法通过这种方式做到这一点?
最佳答案
是的,Dijkstra的算法适用于此问题。您可以将像元修改为顶点,并将相邻像元连接为边。
参考this实施算法
关于java - 矩阵中随机位置的2个像元之间的最短路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61516625/