我目前使用Boost Graph库的Dijkstra算法http://www.boost.org/doc/libs/1_53_0/libs/graph/doc/dijkstra_shortest_paths.html来计算对顶点之间的最短距离路径。 到目前为止,我只能获取存储在前作地图一个最短路径。
所以我的问题是:是否有可能让该函数返回一个对顶点之间所有可能的最短路径?
我目前使用Boost Graph库的Dijkstra算法http://www.boost.org/doc/libs/1_53_0/libs/graph/doc/dijkstra_shortest_paths.html来计算对顶点之间的最短距离路径。 到目前为止,我只能获取存储在前作地图一个最短路径。
所以我的问题是:是否有可能让该函数返回一个对顶点之间所有可能的最短路径?
不,你需要建立一个自己。 一种方法是计算从源点s(在G)和向信宿顶点吨的距离(即,从在转置图T的距离)使用两次调用的Dijkstra。 然后,提取包含恰好那些节点Ü使得距离(S,U)+距离(U,T)=距离(S,T)和那些弧UV使得距离(S,U)+长度(U子图,V )+距离(v,T)=距离(S,T),并递归地列举在此子图的所有ST路径。