[英]Find the shortest Path between two nodes (vertices)
我有一個互連邊緣列表( E
),如何找到從一個頂點到另一個頂點的最短路徑?
我正在考慮使用最低共同的祖先 ,但邊緣沒有明確定義的根,所以我認為解決方案不起作用。
最短路徑由遍歷的最小頂點數定義。
注意:可能存在連接兩個頂點的多路徑,因此顯然廣度優先搜索將不起作用
Dijkstra的算法將為您完成此任務。
Floyd-Warshall算法可能是您問題的可能解決方案,但也有其他解決方案來解決所有對最短路徑問題。
Shortest path is defined by the minimum number of vertexes treversed
它與最小邊數加1相同。
您可以使用標准廣度優先搜索,它將正常工作。 如果你有多個連接兩個頂點的路徑,只需保存其中一個頂點就不會影響任何東西,因為每個邊的權重都是1。
額外2美分。 看看networkx 。 有一些有趣的算法已經實現了你需要的東西,你可以選擇最適合的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.