【发布时间】:2013-03-11 13:28:45
【问题描述】:
我正在尝试计算此函数的 T(n),而我得出的结果是 T(n) = T(n) + T(n) + O(1)。我有两个 T(n) 用于对函数 g() 的 2 次递归调用,然后是 O(1) 用于所有恒定时间操作,例如加法。我觉得我很遥远,所以任何帮助将不胜感激,我的数学背景不太好。
int g(int y) {
if (y <= 0) {
return 1;
}
else {
return g(y - 1) + g(y - 2);
}
}
【问题讨论】:
-
这个函数计算斐波那契数,并且在 O(2^N) 中完成
-
嗯,它是斐波那契回移一。
Fib(0) = 0和Fib(1) = 1。在这种情况下,g(-1) = 1和g(0) = 1。 -
在 StackOverflow 上查看 Computational complexity of Fibonacci Sequence!
-
在Recurrence relation上也有一篇维基百科文章。
标签: c++ recursion time time-complexity fibonacci