如果是的话,你能提供明确的例子吗?我知道像Quicksort这样的算法可以有O(n log n)预期的运行时间,但是在最坏的情况下是O(n^2)。我认为,如果预期/最坏情况的相同原则适用于theta,那么上述问题可能是错误的。了解theta如何工作将帮助我理解theta和big-O之间的关系。运行时复杂度为θ(n^2)的运算复杂度为θ(n)的渐近运行时复杂度算法的运行速度总是比运行时间更快的运算时间?
-1
A
回答
0
当$ n $足够大时,具有复杂性$ \ theta(n)$的算法将比复杂性$ \ theta(n^2)$的算法运行得更快。实际上$ \ theta(n)/ \ theta(n^2)\ to 0 $ as $ \ theta \ to \ infty $。然而,可能存在$ n $的值,其中$ \ theta(n)> \ theta(n^2)$。
0
这不是总是更快,只是渐近地更快(当n
无限增长)。但是在一些n
- 是的,它总是更快。
例如,对于很少的n
,气泡排序的操作可能比快速排序快,因为它更简单(其θ
的常量较低)。
这与预期/最差的情况无关:选择案例是另一个与theta或big-O无关的问题。关于theta和big-O之间的关系:在计算机科学中,big-O经常被误用于θ的意义上,但严格意义上,big-O比θ更广泛:它只限制增长函数的上界,而theta限制两个界限。例如。当有人说Quicksort具有O(n log n)的复杂性时,他实际上意味着θ(n log n)。
0
你正处在思想的正确轨道上。
程序的实际运行时间可能与渐近界很不一样。这是一个基本概念,它是由定义渐近符号的方式引起的。
你可以阅读我的回答here来澄清。
相关问题
- 1. 运行时间复杂度
- 2. 运行时间复杂度
- 3. 算法的运行时间计算/复杂度
- 4. 时间复杂度最小渐近运行时间
- 5. 大-θ,时间复杂度
- 6. 使运行时复杂度更短(C++)
- 7. 分析函数运行时复杂度
- 8. 循环的θ时间复杂度
- 9. 计算递归算法的最坏情况运行时间复杂度
- 10. 计算算法的最坏情况下运行时间复杂度
- 11. 的两种算法(大O符号计算)运行时间复杂度
- 12. 算法复杂度时间
- 13. 算法算法的时间复杂度
- 14. 是这个算法的渐近时间复杂度O(log n)?
- 15. 根据运行时确定程序的时间复杂度
- 16. 计算时间复杂度
- 17. 时间计算复杂度?
- 18. 计算时间复杂度
- 19. 计算时间复杂度
- 20. 计算函数的空间复杂度和时间复杂度
- 21. 基于复杂度的Dijkstra算法平均运行时间变化
- 22. Boyer-Moore字符串搜索算法的运行时间复杂度
- 23. 时间复杂度和空间复杂度,如何计算空间复杂度
- 24. 如何计算运行时间复杂度(`“O(m)”`)给定实际运行时间?
- 25. Python的复杂性(运行时间)
- 26. 运行时间与日志总和成正比的算法的时间复杂度
- 27. 算法时间复杂度算例
- 28. 查找java应用程序的运行时间和复杂度
- 29. 在Python中运行len(array)的时间复杂度?
- 30. 算法的渐近运行时间
SO不显示LaTeX,但此答案正确。 – iamnotmaynard