简答题

裴波那契(Fibonacci)数列的定义为:它的第1项和第2项均为1,以后各项为其前两项之和。若裴波那契数列中的第n项用Fib(n)表示,则计算公式为: 试编写出计算Fib(n)的递归算法和非递归算法,并分析它们的时间复杂度和空间复杂度。

正确答案

递归算法:

递归算法的时间复杂度为O(2n),空间复杂度为O(n);非递归算法的时间复杂度为O(n),空间复杂度为O(1)。

答案解析

相似试题
  • 斐波那契(Fibonacci)数列问题:Fibonacci数列递归定义为:

    简答题查看答案

  • 编一个程序,求费波那契(Fibonacci)序列:1,1,2,3,5,8,……..。请输出前20项。序列满足关系式:Fn=Fn-1+Fn-2

    简答题查看答案

  • 已知Fibonacci数列的递归定义如下: 试写出求解fib(n)的递归算法。

    简答题查看答案

  • 已知k阶斐波那契序列的定义为: f0=0,f1=0,…,fk-2=0,fk-1=0; fn=fn-1+fn-2+…+fn-k,n=k,k+1,… 试编写求k阶斐波那契序列的第m项值的函数算法,k和m均以值调用的形式在函数参数表中出现。

    简答题查看答案

  • 请用伪代码给出求解斐波那契数的递归算法。

    简答题查看答案

  • 试利用循环队列编写求k阶菲波那契序列中前n+1项的算法,要求满足:fn≤max而fn+1>max,其中max为某个约定的常数。(注意:本题所用循环队列的容量仅为k,则在算法执行结束时,留在循环队列中的元素应是所求k阶菲波那契序列中的最后k项)

    简答题查看答案

  • 输入一个正整数m,输出Fibonacci数列小于m的所有项。Fibonacci数列:0,1,1,2,3,5,8,13……从它的第三项开始每一项的值都是其紧接着的前两项的和。

    简答题查看答案

  • Fibonacci数列的各元素为:1、1、2、3、5、8、……,满足以下关系F1=1,F2=1,Fn=Fn-1+Fn-2,用M函数文件实现,数列的元素个数为输入变量,且当某个元素大于50时,退出循环结构。

    简答题查看答案

  • Fibonacci数列的各元素为:1、1、2、3、5、8、……,满足以下关系F1=1,F2=1,Fn=Fn-1+Fn-2用while和for两种方法实现。

    简答题查看答案