У меня есть следующий код, и я хочу найти сложность:
analizz(int n)
c = 1
k = n*n
while k > 1 do k = k - 2
for i = 0 to 1 do
if n >1 then analizz(n/2)
Проблема в том, что код, написанный таким образом, и я пытаюсь понять, цикл FOR находится внутри цикла while, поэтому стоимость должна быть O (n ^ 2), и один рекурсивный вызов, если n> 1 , так что T (n / 2).
Ответ должен быть T (n) = 2T (n / 2) + cn2, я не могу понять, как именно 2T (n / 2)? если есть только один рекурсивный вызов?
ps.Я не знаю, какой заголовок лучше всего описывает мою проблему