我正在研究冒泡排序算法的空间复杂度。据我所知,冒泡排序算法的空间复杂度为O(1)。在下面的冒泡排序算法中,如何修改代码以使空间或内存复杂度为O(n)或O(n square)等。我需要了解空间复杂度的作用...谢谢。
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;
}
}
}
O(n)
空间复杂度。请注意,O(1)
是O(n)
的子集。 - amit