动态规划是一种在计算机科学和数学中常用的算法设计方法。它通过将复杂问题分解为更小的子问题,并存储这些子问题的解,以避免重复计算,从而提高算法效率。

动态规划案例

以下是一个使用动态规划的经典案例:计算斐波那契数列的第n项。

斐波那契数列

斐波那契数列(Fibonacci sequence)是这样一个序列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ...

数列中的每一项(从第三项开始)都是前两项的和。

动态规划解法

def fibonacci(n):
    if n <= 1:
        return n
    fib = [0, 1]
    for i in range(2, n + 1):
        fib.append(fib[i - 1] + fib[i - 2])
    return fib[n]


print(fibonacci(10))  # 输出 55

扩展阅读

想要了解更多关于动态规划的知识?可以阅读本站关于算法的详细教程:/算法教程


Fibonacci Sequence