Вопрос о переменной N
не очень понятен, а выражение i**2
.
i**2
дает ошибку компиляции в java.
при условии, что someMethod()
занимает log N
время (как указано в вопросе), и полностью игнорируя значение N
,
позволяет вызывать i**2
как Z
someMethod();
работает Z
раз. а временная сложность метода равна log N
, поэтому становится:
Z * log N
--------------------------- -------------- A
давайте назовем это выражение A.
Теперь x+=p
выполняется Z ^ 2 раза (i
l oop * j
l oop) и требует постоянного времени для запуска. это дает следующее выражение:
( Z^2 ) * 1 = ( Z^2 )
---------------------- B
давайте назовем это выражение B.
Общее время выполнения представляет собой сумму выражения A
и выражения B
. что приводит нас к:
O((Z * log N) + (Z^2))
, где Z = i**2
, поэтому окончательное выражение будет O(((i**2) * log N) + ((i**2)^2))
, если мы можем принять i**2
is i^2
, выражение становится,
O(((i^2) * log N) + (i^4))
Учитывая только переменные высшего порядка, как мы рассматриваем n^2
в n^2 + 2n + 5
, сложность может быть выражена следующим образом ,
i^4