이 Java 프로그램에서 가장 좋고 최악의 경우는 무엇입니까? 최악의 경우는 O (n^2)와 Best case O (n) 또는 O (1)라고 생각합니다. 목록이 이미 정렬 된 경우 O (1)에서 최상의 사례를 간단하게 말할 수 있습니까? 배열이 비어 있다면? 가장 좋은 경우 O (0)을 만들까요? 누구든지 제게 설명해 주시겠습니까? Java 최우선 및 최악의 경우의 복잡도
내 두 센트 여기에 순간적 후 사전 public class playground {
static void printSimpleMedian(int[] arr) {
if (arr == null || arr.length == 0) {
System.out.println("Array is empty");
} else {
boolean sorted = true;
for (int i = 0; i < arr.length - 1; i++) {
if (arr[i] > arr[i + 1]) {
sorted = false;
}
}
if (!sorted) {
for (int i = 0; i < arr.length/2; i++) {
int max = i;
int min = i;
for (int j = i; j < arr.length - i; j++) {
if (arr[max] < arr[j]) {
max = j;
}
//System.out.print(max);
}
for (int j = i; j < arr.length - i; j++) {
if (arr[min] > arr[j]) {
min = j;
}
//System.out.print(min);
}
int tmp = arr[i];
arr[i] = arr[min];
arr[min] = tmp;
tmp = arr[arr.length - i - 1];
arr[arr.length - i - 1] = arr[max];
arr[max] = tmp;
}
}
// if array length is even upper median is chosen
System.out.println(arr[arr.length/2]);
}
}
}
"배열이 비어 있으면 어떻게됩니까?"점근 적 복잡성을 평가할 때 그 질문을하지 마십시오. 입력 크기가 무한대로 가까울 때 알고리즘의 동작에 대해 판단하고 싶습니다. –