Как найти сложность этого вложенного цикла for?

Я немного запутался в этой петле for. По заданному числу n мы должны найти, сколько раз будет выполняться инструкция.

int j = 0;
for(int p = 0; p < n*n; p++ )
{
    for(int q = 0; q < p; q++ )
    {
        j++;
    }
}

Мой ответ O(n^4). Этот ответ правильный?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
47
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете написать соответствующую сигму для временной сложности T(n) = sum_{p = 1}{n^2} sum_{q=1}{p} (1) = sum_{p=1}{n^2} (p) = 1 + 2 + 3 + ... + n^2 = n^2(n^2 + 1)/2 = Theta(n^4). Итак, ваш ответ правильный для количества инструкций.

Вы уверены? Внутренний цикл for не выполняется фиксированно n раз, но q<p, поэтому будет 0,01,012,0123 и т. д. Я не уверен, что это n^4, но могу ошибаться

BrainDead 07.04.2019 01:27

@AlbertoPoljak проверьте уравнение. Есть ли какие-либо проблемы с этим?

OmG 07.04.2019 01:30

Это было то, что меня смутило, потому что, если бы оно было меньше или равно, я был бы уверен, что это O (n ^ 4).

Indriti 07.04.2019 01:32

@Индрити нет никакой разницы! дело в количестве инструкций. Итак, p от 0 до менее n^2 имеет n^2 число! Будьте осторожны, p и q начинаются с 0.

OmG 07.04.2019 01:34

Тогда спасибо, очень помогло.

Indriti 07.04.2019 01:35

Да, с точки зрения нотации большого О это не имеет значения. Я тоже запутался. Все хорошо.

BrainDead 07.04.2019 01:41

Другие вопросы по теме