我正在採取算法分析課程,我在java中有算法作業。我編寫了這個程序,效果很好。然而,我的老師想要報告與最壞情況下的加分結果相比較的情況。這是什麼意思?我如何比較?第一個是凸包算法,第二個是揹包算法。我的凸包的複雜性n^3有最壞的情況。他爲什麼想要最壞的情況?我的揹包算法複雜度是(n * 2^n)。你可以幫我嗎?揹包算法和凸包
Q
揹包算法和凸包
0
A
回答
2
要求您比較算法的漸近複雜性並用一些數據證明它。這應該給你一些關於複雜性與實際運行時間之間的聯繫的概述。
他們要求最壞的情況,因爲通常情況下,這是您可以爲您提供的解決方案提供的保證。例如,如果算法在第一次嘗試時絆倒了解決方案,那麼揹包可能立即運行n = 1000,但不能保證它適用於任何大小的輸入(時間過長)。
現在,您已經具有複雜性,所以O(n^3)< O(n2^n),因此當您比較複雜性時,船體會更快。現在以n = 1,2,3,4,5,10,20,25,30,50,100,500,1000爲例,並給出解決方案。您可能會發現,對於n的小值,時序大致相同,並且它們不按照複雜性行事,但隨着n(n^3)增長在合理的時間內完成,而O(n2^n)將花費太長時間(幾分鐘後停止)。繪製您的結果並與x^3和x2^x函數的外觀進行比較。
+0
謝謝@Sorin – edithpiaf
相關問題
- 1. Arduino凸包算法
- 2. 雙包揹包算法
- 3. 分析凸包的Graham掃描算法
- 4. gpu中的平行凸包算法
- 5. 計算凸包邊界
- 6. 非凸多邊形 - 使用凸包算法的預處理
- 7. 揹包算法的變化
- 8. 時間的揹包算法
- 9. 改進的揹包算法
- 10. 揹包算法應用
- 11. 特定的揹包算法
- 12. 揹包算法變化
- 13. 0-1揹包算法
- 14. 揹包變型算法
- 15. 簡化凸包
- 16. 在凸包
- 17. 計算到凸包的距離
- 18. 估算凸包的縱橫比
- 19. 用於乘法的揹包算法
- 20. CGAL凸包與Qt
- 21. 格雷厄姆掃描尋找凸包的算法
- 22. 在圖形上選擇外點的算法(「富」凸包)
- 23. 影響Graham算法尋找凸包的未知錯誤
- 24. 征服之前的婚姻執行問題凸包算法
- 25. 爲有序集合點的凸包算法
- 26. VB.NET - 遺傳算法 - 揹包問題
- 27. java中揹包的貪婪算法
- 28. 使用遞歸算法解決揹包
- 29. 遺傳算法:交叉0-1揹包
- 30. 貪婪算法 - 揹包謎題
你已經解決了O(n log n)中的揹包決策問題?恭喜,你什麼時候拿起圖靈獎?提示:Knapsack的決策問題是NP-hard ......這也可能暗示爲什麼最壞的情況分析很重要。 – dhke
這實際上是兩個問題。究竟是什麼問題?爲什麼研究最壞情況的漸近行爲是有意義的? – Codor
確切的問題是測量不同點數的運行時間並觀察收斂行爲。與最壞情況下的比較結果進行比較。你的結果是否證實了最糟糕的情況分析? @Codor – edithpiaf