【发布时间】:2014-11-25 23:07:11
【问题描述】:
对于这个问题,我们有一个函数 f,它以标准方式计算第 n 个斐波那契数:
f(n)
{
if(n == 0)
return 0;
if(n == 1)
return 1;
else return f(n-1) + f(n-2);
}
然后我的任务是计算函数对输入 n 执行的算术运算次数。我知道对 f 的每次调用都会执行 3 次运算(2 次减法,1 次加法),然后我尝试通过扩展函数来尝试找到某种递归关系,然后计算出完成了多少算术运算。但后来我被卡住了,因为这不是正确的答案。
正确答案是 f 对输入 n 进行 3f(n+1)-3 次算术运算。请问有人可以向我解释一下吗?这很重要,因为我们后来被要求以此为起点找出时间复杂度。
非常感谢, 尼亚姆
【问题讨论】:
-
您可能想查看this 的答案。它试图归纳计算计算斐波那契数列中第 n 个数的时间复杂度。