一个算法一个例题教会你算法---0-1背包问题
2023-12-13 18:52:23
动态规划
0-1背包问题
0-1背包问题就是求在有重量限制的情况下如何装入价值最大的物品。
啥也别说,直接看题:
现在有四个可以放的物品,w代表重量,v代表价值。
step1:
我们列一个背包重量 j 从0到5的表格,纵轴 i代表每个物品的序号。
step2:
j=0时,背包载重为0不能放下任何物品,第一列我们直接先全部填0.
step3:
在j=0时,我们为了方便选择将第一列全部填0。
接下来,我们一行一行来填数值。
i=1,代表现在只有第一个物品可以装入书包。(w=2,v=3)
当j=1时,书包载重小于物品重量,因此i=1,j=1时总价值为0。
因此,我们填0.
step4:
接下来,j=2。可以装入第一个物品,因此现在总价值为3.
后继j=3,j=4,j=5,同理。因为,我们现在只考虑第一个物品入背包的情况,所以最大价值都为3.
step5:
再来看第二行,i=2。
此时,前两个物品我们都可以选择,然后再看背包重量的变化。
** step6:**
后继操作以此类推,我们就可以得到最终的最大价值为13
文章来源:https://blog.csdn.net/weixin_45803282/article/details/134973478
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!