在有向图中查找第二条最短路径
Find SECOND shortest path in directred graph
我需要一种方法来找到有向图中第二短的路径,在第二条最短的路径之上不能完全包含最短的路径。我知道dijkstra算法,但我无法找到一种简单的方法来改变该算法,以便在合理的时间内给我第二条最短的路径。算法,sudo代码或c ++示例,三者之一将不胜感激。
不确定以下内容是否正确且有效,但这只是一个想法......
第二条最短路径至少有一条与最短路径不同的边。如果没有节点被访问两次,这也意味着最短路径中至少有一个边未被第二条最短路径使用。
如果这是正确的,您可以先搜索最短路径。然后对于最短路径中的每个边:将其权重设置为无穷大(即将其从图形中排除),并在生成的图形中搜索最短路径。其中最短的路径应该是原始图形中的第二短路径。
相关文章:
- 内存效率表示最短路径的方法?
- 用于查找网格中最短路径的算法
- 查找最短路径算法
- BFS 打印最短路径
- 使用 Dijkstra 算法跟踪两个节点之间的最短路径
- 使用C++具有两个数字的最短路径算法.(C++)
- 使用迭代深度优先搜索算法的未加权图的最短路径
- 如何仅在 2 个节点之间获取最短路径,给定邻接列表有向图?
- 如何使用贝尔曼-福特算法返回所有具有捆绑重量的最短路径?
- 使用优先级队列查找所有与 Dijkstra 相同的最短路径
- 尝试在图形中查找最短路径时的无限循环
- C++计算有向图中的最短路径
- 使用BFS存储和打印最短路径
- 如何制作由原始图形的最短路径边组成的新图形
- 有没有一种方法可以使用弗洛伊德-沃歇尔算法给出最短路径,其中存在负权重循环而不允许重叠边缘?
- 加权图的开始和结束的最短路径
- 使 c++11 Dijkstra 实现返回最短路径
- 如何使用递归来查找和打印从A点到B点的多条最短路径?(C++)
- 在有向图中查找第二条最短路径
- 在迷宫中找到一条最短路径,然后行动