当前位置:首页 > 编程笔记 > 正文
已解决

算法笔记:0-1背包问题

来自网友在路上 158858提问 提问时间:2023-10-08 03:51:14阅读次数: 58

最佳答案 问答题库588位专家为你答疑解惑

 

n个商品组成集合O,每个商品有两个属性vi(体积)和pi(价格),背包容量为C。

求解一个商品子集S,令

优化目标 max\sum_{i \in S} p_i

\sum_{i \in S} v_i \leq C

1. 枚举所有商品组合

共2^n - 1种情况

2. 递归求解

KnapsackSR(h, i, c):在第h个到第i个商品中,容量为c时的最优解

P1:选择商品i

P2:不选择商品i

取二者最大值P = max{P1+pi, P2}

3. 带备忘递归

4.  动态规划

 

 时间复杂度 O(n*C)

 

最优子结构性质:

(1)问题的最优解由相关子问题最优解组合而成

(2)子问题可以独立求解

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"算法笔记:0-1背包问题":http://eshow365.cn/6-17089-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!