完全背包问题算法实例
时间: 2023-11-18 07:45:34 浏览: 104
背包问题的算法实现
完全背包问题是一个经典的动态规划问题,可以通过动态规划算法来解决。以下是一个完全背包问题的算法实例:
```python
def knapsack(weights, values, capacity):
# 初始化动态规划表
dp = [0] * (capacity + 1)
for i in range(1, capacity + 1):
# 对于每个物品
for j in range(len(weights)):
# 如果物品可以放入背包
if weights[j] <= i:
# 更新动态规划表
dp[i] = max(dp[i], dp[i - weights[j]] + values[j])
return dp[capacity]
# 示例输入
weights = [2, 3, 4, 5]
values = [3, 4, 5, 6]
capacity = 8
# 调用函数求解
result = knapsack(weights, values, capacity)
print("最大价值为:", result)
```
输出结果:
```
最大价值为: 12
```
阅读全文