【发布时间】:2022-11-14 02:32:03
【问题描述】:
我正在寻找创建 Djikstra 的修改版本来查找从源到目标顶点的最短路径数。使用数组,我有 O(V^2),使用二进制堆,我有 O(ElgV),使用斐波那契堆,我有 O(E+VlgV)。 有没有办法将其修改为 O(V+E) 呢?
【问题讨论】:
我正在寻找创建 Djikstra 的修改版本来查找从源到目标顶点的最短路径数。使用数组,我有 O(V^2),使用二进制堆,我有 O(ElgV),使用斐波那契堆,我有 O(E+VlgV)。 有没有办法将其修改为 O(V+E) 呢?
【问题讨论】:
如果图是非循环的(DAG),则可以使用拓扑排序来实现 O(V+E)。
【讨论】: