假设我们有一个有向图G = (V, E),它可能有正负的边长,但没有负圈。假设s ∈ V是给定的源顶点。如果从s到任何其他顶点的最短路径至多需要k edges,如何设计一个算法来求解在时间O(k(|V | + |E|))内运行的单源最短路径问题
发布于 2019-03-12 19:35:07
这里是O(k(|V |+ |E|))方法:
我们可以使用贝尔曼-福特算法和一些modifications
伪码:
对于顶点中的每个顶点v:
Dv := +ooDs =0重复k次:
对于边中具有权重w的每个边(u,v):
如果Du +w< Dv:
Dv = Du + w
https://stackoverflow.com/questions/55119063
复制相似问题