![](/img/trans.png)
[英]Given directed weighted graph that has one negeative edge (u,v), find shortest path (s,t)
[英]Given undirected weighted connected graph, s,t. Find path from s to t that its most weighted edge is low as possible
給定:無向加權連通圖。 s,t是頂點。
問題:找到一個盡可能高效的算法,它返回從s到t的路徑。 在該路徑中,具有最高重量的邊緣將具有盡可能最小的重量。 因此,如果我們有來自s,t的5條路徑,並且對於每條路徑,我們都有最重的邊緣,所以這些路徑的最小邊緣為5。
我嘗試過的:
我很難找到一個可以在(1)中運行的算法,Bellman ford將不起作用 - 因為它必須是有向圖。 Dijkstra不會工作,因為我們不知道它是否有負圓或負邊。 Prim用於尋找MST,我不知道它如何幫助我們找到最短的路徑。 有任何想法嗎?
除此之外,如果你有一個可以解決這個問題的算法,我將不勝感激。
你可以用Kruskal算法解決這個問題。 像往常一樣添加邊緣,並在s和t位於同一群集中時立即停止。
我們的想法是,在算法的每個階段,我們都有效地將所有邊緣添加到特定權重閾值以下。 因此,如果s和t在同一簇中,則它們之間存在一條完全由重量小於閾值的邊組成的路徑。
您可以通過轉換為MST問題來解決它,基本上MST中從s到t的路徑將是具有最小可能最大權重的路徑
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.