Сложность g(n)
равна O(log n)
.
Сложность f(n)
равна O(n + log n)
(n
для цикла for
, log n
для вызова g(n)
) - или просто O(n)
, как указано Шипрой Гуптой.
int f(int n) {
int x=1;
for (int k=0; k < n; k++) { // O(n)
x *= n*n // O(1)
}
g(n); // O(log n)
return x;
}
O(n * 1 + log(n) + 1)
То есть, если мы игнорируем тот факт, что g(n)
никогда не достигнет условия n<1
, если n >= 1
(переполнение стека!) ... говоря о котором - добро пожаловать на сайт! : -Р