假设一个有向图G= (V,E)具有潜在的正负边长,但没有负圈。设s∈V是给定的源顶点。如果从s到任何其他顶点的最短路径至多需要k条边,并且我们不知道k是什么,那么如何设计一个算法来求解运行时间为O k(|V |+ |E|)的单源最短路径问题。
发布于 2019-03-12 22:32:53
这里是O(k(|V |+ |E|))方法:
我们可以使用贝尔曼-福特算法和一些modifications
伪码:
对于顶点中的每个顶点v: Dv := +oo Ds =0 lastRelaxation =0 for i in 1,n:{对于边中权重为w的每条边(u,v):if Du +w< Dv:{ Dv = Du +w lastRelaxation =i} if lastRelaxation != i)断开;}
https://stackoverflow.com/questions/55123504
复制相似问题