我正在采取算法分析课程,我在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