Это O(n)
или O(n*logn)
из кода ниже:алгоритмическая сложность этого вложенного цикла
for(int j=n, int sum = 0; j>0 ; j--)
for(int k=j; k >0; k--) sum++;
Список итераций:
j = 5: k = 5, 4, 3, 2, 1
j = 4: k = 4, 3, 2, 1,
j = 3: k = 3, 2, 1
j = 2: k = 2, 1
j = 1: k = 1
Мы имеем 15 итераций в общей сложности. Но, если это O(n)
, то должно быть только 5 итераций.
И если это O(n*logn)
ответ будет только вокруг 11-12 итераций.
Это не так, как работает Big O. Вы не можете посмотреть количество итераций для определенного n и определить алгоритмическую сложность, вам нужно проанализировать количество итераций для общих значений n. – interjay
Мир создан не только из алгоритмов O (n) и O (n Log n)! –
Подсказка: какая область треугольника? [Не шучу] –