📜  斐波那契数列 python 递归 - Python (1)

📅  最后修改于: 2023-12-03 14:55:03.468000             🧑  作者: Mango

斐波那契数列 python 递归

斐波那契数列是指:0、1、1、2、3、5、8、13、21、34...,每一项都等于前两项之和。在程序中,经常需要用到斐波那契数列,本文将介绍如何使用python递归实现斐波那契数列。

递归实现

递归是一种函数自己调用自己的方式,实现斐波那契数列的递归函数如下:

def fib_recursive(n):
    if n <= 1:
        return n
    else:
        return(fib_recursive(n-1) + fib_recursive(n-2))

这个递归函数的基本思想就是:当n=0或1时,返回n,否则返回fib_recursive(n-1) + fib_recursive(n-2)

示例

我们可以使用以下代码来输出前10项斐波那契数列:

for i in range(10):
    print(fib_recursive(i))

输出结果如下:

0
1
1
2
3
5
8
13
21
34
时间复杂度

递归实现的斐波那契数列函数的时间复杂度为$O(2^n)$,因为每次递归都会调用两次自身,所以时间复杂度呈指数级增长,当递归深度很大时,会导致栈溢出等问题。

总结

本文介绍了使用python递归实现斐波那契数列的方法,递归虽然简单易懂,但是时间复杂度很高,可能会导致内存溢出等问题,因此在实际应用中应该优先考虑其他的实现方式。