此函数的时间复杂度是多少?
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))如果是,是否有可能找到更严格的限制?
答案 0 :(得分:0)