【问题标题】:O(E) shortest pathO(E) 最短路径
【发布时间】:2018-04-21 20:50:37
【问题描述】:

有没有办法在 O(E) 中以任意权重在图中找到从单个源到顶点的最短路径,但如果最短路径有 7 条或更少的边,您只需要担心它。

Bellman-Ford 算法的最佳案例运行时间为 O(E),这适用于这里吗?

【问题讨论】:

  • 复杂度是一样的,只需要相应地修改算法即可。执行时间会更快,因为很多案例都被剪掉了

标签: algorithm time-complexity shortest-path bellman-ford


【解决方案1】:

如果您知道通向所有顶点的 N 步的最短路径,那么通过迭代很容易计算出具有 N+1 步的最短路径边缘并评估您可以使用每条路径制作的更长路径。

N=0 处,到源顶点的最短路径长度为 0,到所有其他顶点的最短路径长度为 infinity (即,您无法到达那里)。您只需在边缘迭代 7 次,即可在 N=7 步中找到到达任何地方的最短路径,总运行时间为 O(E) 如果你对你的数据结构有点小心。

【讨论】:

    猜你喜欢
    • 2014-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多