0-1背包问题python代码
时间: 2023-10-22 14:08:48 浏览: 109
基于Python实现的0-1背包问题.zip
以下是一个基于动态规划的0-1背包问题的Python代码示例:
```python
def knapSack(W, wt, val, n):
K = [[0 for x in range(W+1)] for x in range(n+1)]
for i in range(n+1):
for w in range(W+1):
if i==0 or w==0:
K[i][w] = 0
elif wt[i-1] <= w:
K[i][w] = max(val[i-1] + K[i-1][w-wt[i-1]], K[i-1][w])
else:
K[i][w] = K[i-1][w]
return K[n][W]
```
这个函数的参数为:
- `W` 表示背包的容量
- `wt` 表示每个物品的重量(列表类型)
- `val` 表示每个物品的价值(列表类型)
- `n` 表示物品的数量
返回值为能够装入背包的最大价值。
阅读全文