Kth最短路径

有谁知道我怎么可以编写一个编程图 - 算法(C ++代码会很好),找到循环图中给定的一组节点和边的第K个最短路径?

例如,最短路径(可以由Dijkstra或Bellman Ford发现)被认为是第1条最短路径。 现在第二条最短路径是第一条最短路径之后的最短路径。 现在我想让算法找到第K条最短路径。 给定的节点数,边数和边集数,如下所示:

节点数量:5
边数:6
边:
0 1
0 2
1 2
2 3
3 1
1 4
源节点:0
目的地节点:4

“请注意,此图包含一个周期”谢谢。


使用统一的成本搜索算法。 在维基百科所说的“返回解决方案”中,不要退出并return而是将结果追加到列表中,直到该列表包含k个路径。 列表中的第k个元素(从1开始计数)将是第k个最短路径。

不要保持“关闭”/“探索”设置或此算法将无法正常工作。

链接地址: http://www.djcxy.com/p/35227.html

上一篇: Kth Shortest Path

下一篇: Variation (complex?) on the shortest path