用Java实现Dijkstra算法

时间:2018-10-29 13:27:32

标签: java graph-theory dijkstra

我已经阅读了很多有关此的内容,并且知道有关Java中此算法的讨论很少。我在Java中实现Dijkstra算法的问题仅仅是因为我不确定如何准备数据。

我在数组中有一组坐标,在矩阵中有一组1和0,分别表示坐标所表示的点之间是否存在路径。我的问题是,如何显示此信息,以便可以使用Dijkstra搜索最佳路径?我见过很多人创建“ Node”类,但是他们似乎从未在该Node中存储坐标。是否存在某种我遗漏的标准化方法来创建这种结构(我想是图?)?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

有两个主要选项:  1.您可以使用一个邻接矩阵,在该矩阵中,一列表示您的节点。值matrix [x,y]必须是从x到y的权重(例如距离/成本等)。您可以使用欧几里得距离从坐标数组中计算这些值。  2.您可以实现几个类(节点,边缘-或仅具有内部映射到另一个节点且权重作为映射值的节点)-它确实是一个图。