具有 k 个节点的 Dijkstra 变体?
Dijkstra variant with k nodes?
我必须从源和目标找到一条最小路径,其中源和目标是同一节点,并且我希望路径中的节点数量最少固定。
我想实现一个 Dijkstra 算法(在 Java 中),其中 k 个节点包含在最小路径中。 (k 是要覆盖的最小节点数)。
这是正确的?如果是,对实施有何建议?
提前致谢
这是个好主意。请记住在开始时将到源的距离设置为 INF 而不是 0 以获得正确的结果。
编辑
A simple solution is to start from u, go to all adjacent vertices and recur for adjacent vertices with k as k-1, source as adjacent vertex and destination as v. Following is C++ implementation of this simple solution.
GeeksForGeeks
我必须从源和目标找到一条最小路径,其中源和目标是同一节点,并且我希望路径中的节点数量最少固定。 我想实现一个 Dijkstra 算法(在 Java 中),其中 k 个节点包含在最小路径中。 (k 是要覆盖的最小节点数)。 这是正确的?如果是,对实施有何建议? 提前致谢
这是个好主意。请记住在开始时将到源的距离设置为 INF 而不是 0 以获得正确的结果。
编辑
A simple solution is to start from u, go to all adjacent vertices and recur for adjacent vertices with k as k-1, source as adjacent vertex and destination as v. Following is C++ implementation of this simple solution. GeeksForGeeks