Sorting Algorithms
「冒泡排序」包含两层独立循环:
第一层复杂度为 O(N) ; 第二层平均循环次数为
,复杂度为 O(N),推导过程如下:
因此,冒泡排序的总体时间复杂度为
,代码如下所示:
int[] bubbleSort(int[] nums) {
int N = nums.length;
for (int i = 0; i < N - 1; i++) {
for (int j = 0; j < N - 1 - i; j++) {
if (nums[j] > nums[j + 1]) {
int tmp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = tmp;
}
}
}
return nums;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
上次更新: 2021/12/21, 11:29:48