Мне нужно найти временную и пространственную сложность f3
. Я думаю, что g
имеет пространственную сложность log(n)
, поэтому для временной сложности, но я не совсем уверен, как мне найти временную и пространственную сложность f3
, потому что вызов g
находится внутри команды for
, означает ли это, что g
вызывается каждый раз, чтобы проверить, если g(i) < n
?
int g(int n)
{
if (n <= 1)
return 1;
return g(n / 2) + 1;
}
int f3(int n)
{
int counter = 0;
for (int i = 0; g(i) < n; ++i)
++counter;
return counter;
}