Dijkstra的算法:你如何选择边缘源和目的地

时间:2015-12-10 14:33:42

标签: java algorithm

我正在阅读Dijkstra's shortest path algorithm in Java

我实现了自己版本的Dijkstra算法。如有必要,我可以发布。

我的问题是,你如何定义边缘是否重要?开始和结束节点的顺序是否显着?

例如

addLane("Edge_0", 0, 1, 85);
addLane("Edge_1", 0, 2, 217);
addLane("Edge_2", 0, 4, 173);
addLane("Edge_3", 2, 6, 186);
addLane("Edge_4", 2, 7, 103);
addLane("Edge_5", 3, 7, 183);
addLane("Edge_6", 5, 8, 250);
addLane("Edge_7", 8, 9, 84);
addLane("Edge_8", 7, 9, 167);
addLane("Edge_9", 4, 9, 502);
addLane("Edge_10", 9, 10, 40);
addLane("Edge_11", 1, 10, 600);

如果我将最后一行更改为:

,该怎么办?
addLane("Edge_11", 10, 1, 600);

第二个第三和第四个参数是node_source,node_end和distance?

在我的实现中,我必须更改一个边缘的顺序才能使其工作?这是我算法的问题吗?

1 个答案:

答案 0 :(得分:1)

没有预定义规则。

它是声明/文档的一部分,或者图形可以是双向的(您可以从a到b和b同时到达同一边缘)。 它通常从上下文中清楚。