第二部分 基于递归的技术
第五章 归纳法
第六章 分治
第七章 动态规划
; 本章采用知识发明的第二条线,即问题——方法——应用为主线安排内容。;
;
Fibonacci数列问题
f1=1,f2=1,f3=2,f4=3,f5=5,f6=8,f7=13,…
序列中的每一个数是它前面两个数的和。我们来看这个序列的递归定义:; ● 这个定义暗示一个看起来象下面那样表示的过程。
1. procedure f(n)
2. if (n=1) or (n=2) then return 1
3. else return f(n-1)+f(n-2);为了说明这一点,我们把递推式作适当的??开。
f(n)=f(n-1)+f(n-2)
=2f(n-2)+f(n-3)
=3f(n-3)+2f(n-4)
=5f(n-4)+3f(n-5)
这导致了巨大数量的重复调用。假设计算f(1)和f(2)需要一个单位时间,那么这个过程的时间复杂性可以表示为;● 递推式的解是T(n)=f(n)。
当n
原创力文档

文档评论(0)