动态规划是一种在计算机科学和数学中常用的算法设计方法。它通过将复杂问题分解为更小的子问题,并存储这些子问题的解,以避免重复计算,从而提高算法效率。
动态规划案例
以下是一个使用动态规划的经典案例:计算斐波那契数列的第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