求助一个计算算法复杂度的问题?

求助,一个计算算法复杂度的问题!万分感谢

正确答案是A和C。我想知道为什么不是Ω(n^2)以及θ(n^2)。

阅读 410
1 个回答

第一个 for 需要循环 \( n-1 \) 次

第二个 for 有两个条件

  • 如果每一个 a[j-1] 都大于 a[j],那么它要循环 \(n\)次;
  • 如果数组已经有序,也就是每一个 a[j-1] 都小于 a[j],那么它只需要循环 \(1\)次

那么我们可以得到这段代码的上界为

$$ O((n-1)n) = O(n^2) $$

这段代码的下界为

$$ \Omega((n-1) \cdot 1) = \Omega(n) $$

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏