背包问题系列

本文详细介绍了背包问题的三种类型:0-1背包问题、完全背包问题和依赖背包问题。对于0-1背包问题,由于其不适用于贪心算法,推荐使用动态规划(DP)进行求解。通过自底向上的DP方法,给出规划方程和代码示例。完全背包问题虽然与0-1背包问题规划方程相似,但因物品数量无限,可以顺序遍历求解。依赖背包问题可以采用贪心算法,每次选取价值与重量比值最高的物品,必要时进行拆分。文章总结了各种背包问题的适用算法和关键点。
摘要由CSDN通过智能技术生成

一、0-1背包问题

1. 问题描述

在这里插入图片描述
在这里插入图片描述
0-1背包问题就是给定背包的载重量以及每个物品的重量与价值,要求在不超过载重量的前提下,尽可能多的使背包中的物品价值总量最大。(物品要么装进背包,要么不装进背包)。0-1背包问题不可以使用贪心算法,因为贪心算法在这种情形下是找不到最优解的。但是如果可以将物品拆分,即4kg的物品,我们可以切下来1kg,那样贪心算法是可以找到最优解的。(通过优化子结构和贪心选择性即可证明)。因此,这种0-1背包问题我们最好使用DP来求解。

2. DP求解0-1背包问题

我们采用自底向上的方法求解,根据子问题通过规划方程得到最优解,规划方程如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天使Di María

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值