如何从源顶点的所有最短路径记录到目标顶点(How to record all the shortes

2019-08-31 10:19发布

我目前使用Boost Graph库的Dijkstra算法http://www.boost.org/doc/libs/1_53_0/libs/graph/doc/dijkstra_shortest_paths.html来计算对顶点之间的最短距离路径。 到目前为止,我只能获取存储在前作地图一个最短路径。

所以我的问题是:是否有可能让该函数返回一个对顶点之间所有可能的最短路径?

Answer 1:

不,你需要建立一个自己。 一种方法是计算从源点s(在G)和向信宿顶点吨的距离(即,从在转置图T的距离)使用两次调用的Dijkstra。 然后,提取包含恰好那些节点Ü使得距离(S,U)+距离(U,T)=距离(S,T)和那些弧UV使得距离(S,U)+长度(U子图,V )+距离(v,T)=距离(S,T),并递归地列举在此子图的所有ST路径。



文章来源: How to record all the shortest paths from a source vertex to a destination vertex