![](/img/trans.png)
[英]Find the shortest path from source to target in a weighted-undirected graph in O(V + E) time
[英]Design an algorithm for the single source shortest path problem that runs in time O(k(|V|+|E|))
假設我們給出了有向圖G = (V, E)
具有潛在的正和負邊長,但沒有負循環。 設s ∈ V
是給定的源頂點。 如果從s到任何其他頂點的最短路徑最多需要k edges
如何設計一個在時間O(k(|V | + |E|))
中運行的單源最短路徑問題的算法?
這里是O(k(| V | + | E |))方法:
因為任何su最短路徑最多是k個邊緣,所以我們可以在邊緣上的k次迭代之后結束算法
偽代碼:
對於頂點中的每個頂點v:
D [v]:= + ooD [s] = 0
重復k次:
對於邊緣重量為w的每條邊(u,v):
如果D [u] + w <D [v]:
D [v] = D [u] + w
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.