【发布时间】:2020-07-28 19:57:57
【问题描述】:
我的任务是在具有V 节点的功能图中处理Q 最短路径查询。 Q 和 V 是最大为 100000 的整数。
我的第一个想法是使用 Floyd-Warshall 算法来有效地回答查询,但是这个算法需要O(V^3) 时间来计算最短路径,这太慢了。
我的第二个想法在O(QV) 时间运行,因为对于每个查询,我都从起始节点开始并遍历图表,直到发现一个循环或到达目标节点。
但是,这个解决方案还是太慢了;当V 和Q 变大时,它没有机会快速处理查询。我认为有一些预处理或其他技术可以用来解决这个问题,但我无法找到任何在线资源来帮助指导我。有人可以帮帮我吗?
【问题讨论】:
-
这个问题与 C++ 有什么关系?什么是
O(QV)?
标签: algorithm graph-theory shortest-path