КОД:Big-O сложность этого алгоритма
void fun(int n){
if(n>2){
for(int i=0;i<n;i++){
j=0;
while(j<n){
cout<<j;
j++;
}
}
fun(n/2);
}
}
Вот что я думаю: рекурсивная часть работает журнал (п) раз? , и во время каждого рекурсивного вызова цикл for будет выполняться n^2 раза, причем n изменяется на половину в каждом рекурсивном вызове. Итак, это n^2 + (n^2)/4 + (n^2)/16 + ... + 1?
Спасибо за ваш ответ! –
он мог/был бы/был бы в O (n^2), даже если он превысил 2n^2. – perreal