Я хочу проанализировать сложность времени выполнения программы ниже. Пожалуйста, ответьте на объяснение.Какова сложность этой программы?
private static void printSecondLargest(int[] arr) {
int length = arr.length, temp;
for (int i = 0; i < 2; i++) {
for (int j = i+1; j < length; j++) {
if(arr[i]<arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
System.out.println("Second largest is: "+arr[1]);
}
Внутренний цикл работает '(2 * arr.length) -2' раз * полностью *. Сложность - это «O (n)» – TheLostMind
O (n) - сложность программы. – Abhi
@ TheLostMind спасибо за ответ. Однако ваш ответ правильный, но объяснение немного неверно. он выполнит (2 * arr.length) - 3 раза. –