简单
技术面试0 次浏览请编写一个函数,计算斐波那契数列的第 n 项。
算法工程师
递归斐波那契数列算法基础
答题要点
斐波那契数列是指这样一个数列:0、1、1、2、3、5、8、13、21、34、…… ,在数学上,斐波那契数列以如下递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)。我们可以使用递归的方法来计算斐波那契数列的第 n 项。以下是 Python 代码实现: python def fibonacci(n): if n == 0: return 0 elif n == 1: return 1 else: return fibonacci(n - 1) + fibonacci(n - 2) 递归方法的优点是代码简洁易懂,但缺点是存在大量的重复计算,时间复杂度为 O(2^n),效率较低。为了提高效率,可以使用迭代的方法,时间复杂度可以优化到 O(n)。以下是迭代方法的代码实现: python def fibonacci_iterative(n): if n == 0: return 0 elif n == 1: return 1 a, b = 0, 1 for i in range(2, n + 1): a, b = b, a + b return b