對於無向未加權圖,算法計算其平均最短路徑長度vs與計算圖的直徑的算法的複雜度(即兩個圖之間最長的最短路徑頂點?圖形的平均最短路徑長度和直徑算法的時間複雜度是否有區別?
3
A
回答
2
根據Wikipedia,要計算圖的直徑,首先應該找到所有對最短路徑。在計算完全對最短路徑後,兩種算法都減少到O(V^2)計算,因此它們的複雜性是相同的。
0
不,兩者之間的時間複雜性不應有任何差異。
通過調整最短路徑算法,您可以找到兩個頂點之間最長的路徑。
1
我還沒有閱讀關於這個問題的很多文獻,但我懷疑這兩者是相同的。但是,如果有差異,我會說計算圖的直徑可能漸近地快。
我的兩種算法都是使用Dijkstra算法在V*(E+V*log(V))
中運行計算所有對最短路徑。那麼你的平均值就是所有這些值的算術平均值。我看不到一種可以加快速度的方法。
但是,對於計算圖的直徑,可能有一些巧妙的技巧可以用來加速此過程。但是作爲一個上界,你可以簡單地通過所有對最短路徑上的上確界來得到直徑,其具有與計算平均最短路徑相同的運行時複雜度。
相關問題
- 1. 平均時間複雜度
- 2. 用遞歸方法計算最長路徑算法的複雜度
- 3. DAG中的關鍵路徑和最長路徑是否有區別?
- 4. 如何計算neo4j中的平均路徑長度
- 5. BST的最長路徑的平均值
- 6. 計算加權最短路徑的未加權長度
- 7. 如何計算多個節點未連接的多向圖中的平均最短路徑長度?
- 8. 平均時間複雜度環
- 9. 最短路徑tsp算法
- 10. 最短路徑算法
- 11. 算法算法的時間複雜度
- 12. 比較最佳和平均時間複雜度
- 13. 算法複雜度時間
- 14. 計算平均時間複雜度(BIG-O)的代碼
- 15. 計算函數的空間複雜度和時間複雜度
- 16. Google Map從2點返回路徑的算法是否是最短路徑?
- 17. 時間複雜度和空間複雜度,如何計算空間複雜度
- 18. 有沒有算法來計算最短的樹(不是路徑)?
- 19. C#圖最短路徑算法
- 20. 圖的平均最優路徑
- 21. 區間總和的時間複雜度
- 22. 概率和最短路徑算法
- 23. 如何計算平均複雜度
- 24. 什麼是pascal三角形算法的時間複雜度
- 25. 兩個圖形節點之間的固定長度路徑
- 26. Bogosort的平均時間複雜度是多少?
- 27. 最有效的最短路徑算法非負邊緣圖
- 28. 如何估計時間複雜度的最佳,最差和平均情況?
- 29. URL的最短路徑算法
- 30. AFP Dijkstra的最短路徑算法
Dijkstra算法只計算單源最短路徑,而不是所有對最短路徑。計算所有對最短路徑的Dijkstra算法的一個修改是Johnson算法,在某些情況下它可以勝過Floyd-Warshall。 – templatetypedef
只需在所有單一來源上運行Dijkstra算法。它仍然比FW更快。 – tskuzzy
@ tskuzzy-約翰遜的算法實質上是在對圖進行預處理以消除任何負重邊後完成的。 :-) – templatetypedef