Algorithm 高效Dijkstra';它适用于许多来源和许多目标

Algorithm 高效Dijkstra';它适用于许多来源和许多目标,algorithm,graph,dijkstra,Algorithm,Graph,Dijkstra,我正在寻找一种有效的方法来遍历一个包含许多源顶点和目标顶点的大型图。具体地说,如果存在这样的路径,我想为每个(源、目标)对找到最短路径。显然,这可以通过对每个源点进行广度优先搜索来实现,但考虑到图中的许多路径将被多次遍历,我认为会有一种更短的方法 以下事实可能相关: 图是有方向的,非常稀疏。它有一些周期 对于绝大多数(源、目标)对,将不存在路径 我的图是用C++实现的,作为指向父和子的指针(双向遍历是可能的)。边上附着有权重 我强烈怀疑这种解决方案的额外复杂性将超过暴力的好处:在每个起点重复,

我正在寻找一种有效的方法来遍历一个包含许多源顶点和目标顶点的大型图。具体地说,如果存在这样的路径,我想为每个(源、目标)对找到最短路径。显然,这可以通过对每个源点进行广度优先搜索来实现,但考虑到图中的许多路径将被多次遍历,我认为会有一种更短的方法

以下事实可能相关:

  • 图是有方向的,非常稀疏。它有一些周期
  • 对于绝大多数(源、目标)对,将不存在路径
  • 我的图是用C++实现的,作为指向父和子的指针(双向遍历是可能的)。边上附着有权重
我强烈怀疑这种解决方案的额外复杂性将超过暴力的好处:在每个起点重复,dijkstra到everywhere方法。但是看看