问题
单项选择题
斐波那契(Fibonacci)数列可以递归地定义为:
用递归算法求解F(6)时需要执行 (61) 次“+”运算,该方法采用的算法策略是 (62) 。
(62)处填()。
A.动态规划
B.分治
C.回溯
D.分支限界
答案
参考答案:B
解析:
[要点解析] 本题考查基本的算法分析方法。
根据递归定义式,对F(5)的求解过程可由以下递推式表示。
F(6)=F(5)+F(4)=F(4)+F(3)+F(4)=F(3)+F(2)+F(3)+F(3)+F(2)
=F(2)+F(1)+F(2)+F(2)+F(1)+F(2)+F(1)+F(2)
=F(1)+F(1)+F(1)+F(1)+F(1)+F0)+F(1)+F(1)+F(1)+F(1)+F(1)+F(1)+F(1)
因此计算F(6)需要12次“+”运算,该递归定义采用了分治的算法策略。