单选题:时间复杂度分析(递归调用2次,参数递减1)
时间复杂度分析
以下算法的时间复杂度为 ▁▁▁▁▁。
c
int foo(int n)
{
int s;
if (n <= 1)
{
s = 1;
}
else
{
s = foo(n - 1) + foo(n - 1);
}
return s;
}
A.$$O(n)$$
B.$$O(n ^ 2)$$
C.$$O(2 ^ n)$$
D.$$O(\sqrt{n})$$
答案:C
以下算法的时间复杂度为 ▁▁▁▁▁。
c
int foo(int n)
{
int s;
if (n <= 1)
{
s = 1;
}
else
{
s = foo(n - 1) + foo(n - 1);
}
return s;
}
A.$$O(n)$$
B.$$O(n ^ 2)$$
C.$$O(2 ^ n)$$
D.$$O(\sqrt{n})$$
答案:C