Какова будет временная сложность этой функции:
public int calculate(int n, int i, int c) {
if(i >= n || c <= 0)
return 1;
int p1 = 2 * calculate(n, i, c-1);
int p2 = 1 + calculate(n, i+1, c);
return p1 + p2;
}
Функция вызывается дважды, один для всех значений 'c' и один для всех значений 'i'. Можем ли мы сказать, что его временная сложность равна O (2 ^ (n + c)). Если да, можно ли найти более жесткий предел?