这是优化冒泡排序算法的伪代码。我试图分析它的时间复杂度,但我不确定第 4 行的成本是多少(如果 A[i-1] > A[i])。答案是 (n-1)+(n-2)+........+1 吗?另外,第 5 到 8 行的费用是多少?
1.for j = A.length to 2
2. swapped = false
3. for i = 2 to j
4. if A[i-1] > A[i]
5. temp = A[i]
6. A[i-1] = A[i]
7. A[i-1] = temp
8. swapped = true
9. if(!swapped)
10. break