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