斐波那契数列的实现算法
Posted mydesky2012
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了斐波那契数列的实现算法相关的知识,希望对你有一定的参考价值。
# 递归。重复计算,时间复杂度O(2^n)- O(1) ,空间复杂度为O(n) def fRecursive(n): if n == 0: return 0 elif n == 1: return 1 else: return fRecursive(n - 1) + fRecursive(n - 2) # a记录f(n-2)的值,b记录f(n-1)的值,不断更新a和b的值。非递归,空间复杂度O(1),时间复杂度O(n)。 def f(n): a, b, c, i = 0, 1, 1, 2 if n == 0: return 0 elif n == 1: return 1 else: while i <= n: c = a + b a = b b = c i = i + 1 return c if __name__ == "__main__": n = 10 print(fRecursive(n)) print(f(n))
以上是关于斐波那契数列的实现算法的主要内容,如果未能解决你的问题,请参考以下文章
C语言用递推和递归两种算法完成斐波那契数列的计算,给一下代码