Kth Shortest Path

Tra*_*man 1 algorithm graph-algorithm

有谁知道如何编写一个编程图算法(C++代码会很棒),它找到一组给定节点和循环图中边的Kth最短路径?

例如,最短路径(可由Dijkstra或Bellman Ford找到)被认为是第1条最短路径.现在第二条最短路径是第一条最短路径之后的最短路径.现在我希望算法找到第K个最短路径.您将获得节点数,边数和边集数,如下所示:

节点数:5
个边数:6个
边:
0 1
0 2
1 2
2 3
3 1
1 4
源节点:0个
目标节点:4个

"请注意,此图表包含一个循环"谢谢.

Fre*_*Foo 5

使用统一的成本搜索算法.在维基百科说"返回解决方案"的地方,不要退出,return而是将结果附加到某个列表,直到该列表包含k个路径.所述ķ "日列表(从1开始计数)的元件将是ķ "个最短路径.

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