最坏情况时间复杂度:O(n²)
计算方式:
1. 外层循环需要执行n-1次(n为数组长度)
2. 内层循环在最坏情况下每次执行n-i-1次比较(i为外层循环次数)
3. 总比较次数 = (n-1) + (n-2) + ... + 1 = n(n-1)/2 ≈ n²/2
4. 因此时间复杂度为 O(n²)
最好情况时间复杂度:O(n)
当数组已经有序时,只需进行一轮n-1次比较即可确定,无需交换
平均时间复杂度:O(n²)
对于随机排列的数组,平均需要进行约n²/2次比较和n²/4次交换
空间复杂度:O(1)
冒泡排序是原地排序算法,只需要常数级别的额外空间