单选题:算法分析
算法分析
观察下面的算法:
```c
int foo(int n)
{
int i, s = 0;
for (i = 1; i <= n; i *= 2)
{
s += i;
}
return s;
}
```
其时间复杂度为 ▁▁▁▁▁。@[C](1)
A. $$O(n)$$
B. $$O(\sqrt{n})$$
C. $$O(\log_{2}n)$$
D. $$O(n^2)$$
A.$$O(n)$$
B.$$O(\sqrt{n})$$
C.$$O(\log_{2}n)$$
D.$$O(n^2)$$
答案:C
观察下面的算法:
```c
int foo(int n)
{
int i, s = 0;
for (i = 1; i <= n; i *= 2)
{
s += i;
}
return s;
}
```
其时间复杂度为 ▁▁▁▁▁。@[C](1)
A. $$O(n)$$
B. $$O(\sqrt{n})$$
C. $$O(\log_{2}n)$$
D. $$O(n^2)$$
A.$$O(n)$$
B.$$O(\sqrt{n})$$
C.$$O(\log_{2}n)$$
D.$$O(n^2)$$
答案:C