第一个 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) $$
第一个
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) $$