algorithm - 弗洛伊德·沃肖尔 : computing top-k shortest paths per vertex pair

标签 algorithm graph shortest-path floyd-warshall

在 Floyd-Warshall 算法中,计算任意一对顶点的最短路径成本。额外的簿记使我们能够将实际路径(顶点列表)保持在最短路径上。

我如何扩展 Floyd-Warshall 以便对于任何一对顶点,都能找到前 K 条最短路径?例如,对于 K=3,结果将是计算并维护 3 条最短路径?

我一直在使用 Java implementation来自塞奇威克。

最佳答案

听起来更像是 Dijkstra 更容易修改以返回 N 条最短路径。允许搜索进入顶点,直到K个最短备选方案进入顶点。

更多信息您可以查看wikipedia article

关于algorithm - 弗洛伊德·沃肖尔 : computing top-k shortest paths per vertex pair,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25455288/

相关文章:

linux - gnuplot 上的 x 轴值

python - 如何将源和目标参数定义为shortest_path的数组?

algorithm - ansi-c。 .pgm 图片的 High-Pass3 过滤器

c++ - quickselect 算法因重复元素而失败

c++ - 使用 DFS 检测有向图中的循环?

python-3.x - 广度优先搜索 : Shortest Path using Python

c++ - 我怎样才能找到从a[x][y]到任何a[v][w]的最短路径?

java - 如何在 Lucene 中获取多词术语的频率?

algorithm - 有哪些用于生成有趣的时间序列数据的紧凑算法?

boost图库内存消耗大图