我正在大学做研究我需要将以下算法的时间复杂度从算法复杂度从O(n)平方改为O(n)立方体来做一些测量
public class bubble_sort_alg {
public void bubbleSort(int[] arr) {
boolean swapped = true;
int j = 0;
int tmp;
while (swapped) {
swapped = false;
j++;
for (int i = 0; i < arr.length - j; i++) {
if (arr[i] > arr[i + 1]) {
tmp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = tmp;
swapped = true;
}
}
}
答案 0 :(得分:2)
Why do you want to do that ?
如果这是您的要求,那么在for
循环内再次遍历所有项(arr.length)
,这将产生n立方体复杂度