2个顶点之间最短路径的算法

时间:2019-11-18 18:41:05

标签: algorithm floyd-warshall

我有一个所有正权重的加权图,我需要找到从顶点x到顶点y的最短路径。在这种情况下,我应该更喜欢Floyd-Warshall算法而不是Dijkstra算法,因为我对从单个源到所有顶点的最短路径不感兴趣,而只对特定顶点2之间的路径感兴趣。我可以限制Floyd-Warshall仅关注其中两个顶点利息,x和y。在这种情况下,我认为Floyd–Warshall可以找到他在O(| V |)中从顶点x到顶点y的最短路径。

对吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我建议从两端并行开始进行广度优先搜索。散列了已访问的节点,以便您知道何时满足搜索条件。

假设随机图具有良好的连通性,则平均运行时间将约为sqrt(V)。

这是一种常见的技巧,可用于查找社交图中的两个人之间的距离而无需查看其中的大部分内容。