有谁知道如何编写一个编程图 - 算法(C代码会很棒),它找到循环图中给定节点和边的一组Kth最短路径?
例如,最短路径(可由Dijkstra或Bellman Ford找到)被认为是第1个最短路径 . 现在第二条最短路径是第一条最短路径之后的最短路径 . 现在我希望算法找到第K个最短路径 . 您将获得节点数,边数和边集数,如下所示:
节点数:5边数:6边:0 10 21 22 33 11 4源节点:0目标节点:4
“请注意,此图表包含一个循环”谢谢 .
使用uniform cost search算法 . 如果维基百科说"return solution",请不要退出和 return ,但要将结果附加到某个列表,直到该列表包含k个路径 . 列表的第k个元素(从1开始计算)将是第k个最短路径 .
return
不要保持“关闭”/“探索”设置或此算法将无法正常工作 .
1 回答
使用uniform cost search算法 . 如果维基百科说"return solution",请不要退出和
return
,但要将结果附加到某个列表,直到该列表包含k个路径 . 列表的第k个元素(从1开始计算)将是第k个最短路径 .不要保持“关闭”/“探索”设置或此算法将无法正常工作 .