Python 动态规划
时间: 2023-11-05 20:11:42 浏览: 93
动态规划.py
动态规划是一种常见的算法设计和优化方法,它常用于解决具有重叠子问题和最优子结构性质的问题。Python 作为一种高级编程语言,提供了许多灵活的数据结构和函数,非常适合用于实现动态规划算法。
下面是一个 Python 实现动态规划的示例,以斐波那契数列为例:
```python
def fibonacci(n):
if n <= 1:
return n
else:
fib = [0, 1]
for i in range(2, n+1):
fib.append(fib[i-1] + fib[i-2])
return fib[n]
```
该函数接受一个整数 n 作为参数,计算斐波那契数列中第 n 个数的值。在函数中,我们首先判断 n 是否小于等于 1,如果是,则直接返回 n。如果不是,则创建一个长度为 n+1 的列表 fib,并初始化前两个数为 0 和 1。然后使用 for 循环计算斐波那契数列中每个数的值,并将其添加到列表 fib 中。最后返回列表 fib 中第 n 个数的值。
这个算法的时间复杂度为 O(n),空间复杂度为 O(n)。
阅读全文