为了递归地找到斐波那契数,该关系是f(n)= f(n-1)+ f(n-2)。 对f(n)的递归函数调用f(n-i)多少次(就n和i而言)?
我理解在跟踪递归调用时会生成二叉树。但是,似乎没有任何固定的模式来确定f(n-i)的递归调用次数。任何建议?
例如,在寻找f(5)时,
f(5)=f(4)+f(3)
f(5)=f(3)+f(2)+f(2)+f(1)
f(5)=f(2)+f(1)+f(1)+f(0)+f(1)+f(0)+f(1)
f(5)=f(1)+f(0)+f(1)+f(1)+f(0)+f(1)+f(0)+f(1)
这里调用f(5)-1,f(4)-1,f(3)-2,f(2)-3,f(1)-5,f(0)-3的次数。
感谢。
答案 0 :(得分:0)
序列1,1,2,3,5,3应该看起来很熟悉,因为忽略了最后一个数字,它又是斐波那契序列。
设 c(x)是计算 fib(n)时 fib(x)的次数。< / p>
所以序列 c(n),c(n-1),...,c(2),c(1)是Fibonacci序列, c(0) 等于 c(2)。
就 i 和 n 而言,