Fibnacci数列定义为:F0=0,F1=1,Fn=Fn-1+Fn-2(n≥2,n∈N*),要计算该数列任意项Fn,既可以采用递归方式编程也可以采用循环语句编程,由于( ),所以需要较多运行时间。
- A.递归代码经编译后形成较长目标代码
- B.递归代码执行时多次复制同一段目标代码
- C.递归代码执行时需要进行一系列函数调用及返回且存在重复计算
- D.递归代码执行过程中重复存取相同数据
正确答案及解析
正确答案
C
解析
本题考查程序语言基础知识。
分析递归代码执行过程可知,由于调用函数时系统需要在栈区开辟支持函数运行时需要空间(大多数局部变量存储单元即分配在此空间中),同时还需造成控制流转移、返回位置记录和恢复等工作,同时在该例子中存在着重复计算,例如计算只时要通过递归调用分别计算F3和F2,而在计算F3时,则要通过递归调用分别计算F2和F1,其中F2计算会重复,因此递归代码执行时需要进行一系列函数调用及返回且存在重复计算都是比较耗时。
你可能感兴趣的试题

-
- A.V(S2)和P(S4)
- B.P(S2)和V(S4)
- C.P(S2)和P(S4)
- D.V(S2)和V(S4)
- 查看答案

-
- A.V(S1)P(S2)和V(S3)
- B.P(S1)V(S2)和V(S3)
- C.V(S1)V(S2)和V(S3)
- D.P(S1)P(S2)和V(S3)
- 查看答案

-
- A.P(S4)和V(S4)V(S5)
- B.V(S5)和P(S4)P(S5)
- C.V(S3)和V(S4)V(S5)
- D.P(S3)和P(S4)V(P5)
- 查看答案

-
- A.P(S3)和V(S4)V(S5)
- B.V(S3)和P(S4)P(S5)
- C.P(S3)和P(S4)P(S5)
- D.V(S3)和V(S4)V(S5)
- 查看答案

-
- A.P(S2)和P(S4)
- B.P(S2)和V(S4)
- C.V(S2)和P(S4)
- D.V(S2)和V(S4)
- 查看答案