Почему временная сложностьвремени сложность вложенного цикла
function (n)
{
//this loop executes n times
for(i = 1 ; i <= n ; i + +)
//this loop executes j times with j increase by the rate of i
for(j = 1 ; j <= n ; j+ = i)
print(“*”) ;
}
время его работы равно п * (п^1/2) = п^3/2
так, O (n^3/2)
Пожалуйста, объясните с помощью математических шагов.
Заранее спасибо.
Для n = 4 .... для i = 1 внутренний цикл выполняется 5 раз (j = от 1 до 4) для n = 4 ... для (i = 2), он выполняется для j = 1,3 ... 2times и для (i = 3), innerloop выполняется для j = 1,4 .. в два раза .. как j <= n ... Так как же он делает итерации O (n/i)? – Ankita
Поскольку вы увеличиваете 'j' на шаг' i', вы делаете не более итераций 'K', т. Е. Число итераций внутреннего цикла является наибольшим' K', для которого 'K * i
blazs