2014-05-11 05:21

题目链接

原题:

Complexity of a function: 

int func_fibonacci ( int n) { 

if (n < 2) { 
return n; 
} else { 

return ( func_fibonacci(n-1) + func_fibonacci(n-2)); 
} 
}

题目:求上面函数的复杂度。

解法:时间复杂度就是斐波那契数,空间也是。

代码:

 1 // http://www.careercup.com/question?id=5173689888800768
 2 /*
 3     T(0) = 1;
 4     T(1) = 1;
 5     T(n) = T(n - 1) + T(n - 2);
 6     Thus T(n) is exactly nth Fibonacci number.
 7     T(n) = (((1 + sqrt(5)) / 2) ^ n - ((1 - sqrt(5)) / 2) ^ n) / sqrt(5);
 8 */
 9 int fibonacci (int n)
10 {
11     if (n < 2) {
12         return n;
13     } else {
14         return fibonacci(n - 1) + fibonacci(n - 2);
15     }
16 }
17 
18 int main()
19 {
20     return 0;
21 }

 

 posted on 2014-05-11 05:25  zhuli19901106  阅读(154)  评论(0编辑  收藏  举报