小编Sta*_*tan的帖子

Java中二维数组的Dijkstra算法

这是一个学校项目; 我遇到了很多麻烦,我似乎无法找到一个可以理解的解决方案.

   a b c d e z
 a - 2 3 - - -
 b 2 - - 5 2 -
 c 3 - - - 5 -
 d - 5 - - 1 2
 e - 2 5 1 - 4
 z - - - 2 4 -
Run Code Online (Sandbox Code Playgroud)

这是二维数组.因此,如果你想找到最短的路径,它来自a,b,e,d,z = 7,和(a,b)=(b,a) - 它会带你到行的相邻的新行路径

有没有人可以帮助我为这个例子实现Dijkstra的算法?我真的很感激.(我似乎最喜欢数组,地图和集合让我感到困惑,列表是可管理的 - 虽然我愿意在这一点上研究任何类型的解决方案)

[至少我不只是从网上扯下来源.我其实想学习这些东西......这真的很难(>.<)]

哦,起点是A,终点是Z.


和大多数人一样,我没有发现算法的概念很难 - 我只能看到编码正确...请帮忙吗?

示例代码 - 一位朋友帮我解决了这个问题(虽然它充满了我觉得难以理解的数据结构)我还尝试过改编来自dreamincode.net/forums/blog/martyr2/index.php的C++代码吗? showentry = 578进入java,但这并没有那么顺利......

import java.util.*;

public class Pathy{

    private static class pathyNode{
        public final …
Run Code Online (Sandbox Code Playgroud)

java algorithm dijkstra multidimensional-array

7
推荐指数
1
解决办法
2万
查看次数