我在 geeksforgeeks.org 上发现了一些我似乎无法理解的问题(#1 和 #3)。我希望有人可以为我澄清答案:
澄清是真/有效还是假
1.快速排序的时间复杂度是Θ(n^2)
我的回答是对的,但它是错的,为什么?如果快速排序的时间复杂度为 O(n^2) 并且我们知道 Θ(g(n))={f(n) 其中 c1*g(n) <= f(n) <=c2*g(n ) 并且 n >= n0} 那么这是否证明它是正确的,因为 c2*g(n) 作为上限可以等于 f(n)?
2.快速排序的时间复杂度是 O(n^2) - true
3.所有计算机算法的时间复杂度可以写成Ω(1)
这是真的,但我不明白为什么这是真的。假设我们在第一个元素上找到了我们正在寻找的东西,搜索算法可以具有 Ω(1) 的下限,但这对于所有计算机算法(例如最坏情况为 O(n^2) 的插入排序算法来说如何成立)?
链接: http ://www.geeksforgeeks.org/analysis-of-algorithms-set-3asymptotic-notations/