鱼C论坛

 找回密码
 立即注册
查看: 813|回复: 8

[已解决]关于背包问题

[复制链接]
发表于 2024-2-15 15:47:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 zhangjinxuan 于 2024-2-15 16:17 编辑

背包问题中,如果使用贪心算法,以价格与重量的比值为第一关键字,价格为第二关键字,从大到小贪心选择物品,这种方法为什么不对,在什么情境下这是对的?
最佳答案
2024-2-15 21:13:27

就是如果按照性价比来选物品,到最好刚好装满,那么这种情况下按性价比是对的.给个最佳呗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-2-15 15:47:33 | 显示全部楼层
在背包问题中,使用贪心算法以价格与重量的比值为第一关键字、重量为第二关键字进行选择,并不总是可行的。

假设有以下物品列表:
物品A:价格1000,重量10
物品B:价格2000,重量20
物品C:价格3000,重量30

如果我们按照贪心算法的方式选择物品,以价格与重量的比值为第一关键字、重量为第二关键字,首先选择价格与重量比值最大的物品C。但是,当背包的最大承重量为15时,物品C无法放入背包中。而如果我们先选择物品A,在背包的最大承重量为15的情况下,物品A可以完全放入背包中,使得总的价值更大。

因此,在背包问题中,使用贪心算法以价格与重量的比值为第一关键字、重量为第二关键字进行选择并不能得到最优解。实际上,在背包问题中,解决方案通常需要使用动态规划等其他方法。

然而,如果我们将第一关键字调整为价格或重量两者中的一个,即只考虑价格或只考虑重量,那么贪心算法可能是可行的。具体情境取决于问题的要求和限制。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-15 15:48:45 | 显示全部楼层
FishC 发表于 2024-2-15 15:47
在背包问题中,使用贪心算法以价格与重量的比值为第一关键字、重量为第二关键字进行选择,并不总是可行的。 ...

如果第二关键字换成价格呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-15 15:49:04 | 显示全部楼层
zhangjinxuan 发表于 2024-02-15 15:48
如果第二关键字换成价格呢?


如果我们将贪心算法中第二关键字从重量换成价格,即以价格为第一关键字、重量为第二关键字进行选择,那么在某些情境下贪心算法可能是可行的。

假设有以下物品列表:
物品A:价格1000,重量10
物品B:价格2000,重量20
物品C:价格3000,重量30

如果我们按照贪心算法的方式选择物品,以价格为第一关键字、重量为第二关键字,首先选择价格最高的物品C。然后,我们尝试选择价格较低的物品B。但是,当背包的最大承重量为30时,物品B和物品C的总重量已经超过了背包的承重上限。因此,在这种情况下贪心算法不可行。

然而,在某些背包问题的变体中,贪心算法以价格为第一关键字、重量为第二关键字可能是可行的。例如,如果背包的最大承重量为50,我们只需要尽可能选择价格高的物品,无需考虑总重量是否超过背包承重上限。在这种情况下,贪心算法以价格为第一关键字、重量为第二关键字可以得到满足要求的解,并且是最优解。

因此,是否使用贪心算法以价格为第一关键字、重量为第二关键字选择物品取决于具体的背包问题要求和限制。在实际应用中,我们需要根据问题的特性进行分析和决策,选择适合的算法。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-15 16:26:30 | 显示全部楼层
你要考虑到物品的不可分割性.
就像一个背包100空间.
物品1:占用101,价值100000000000000000
物品2:占用99,价值1
物品3:占用1,价值2

尽管物品1的性价比很高,但你装不下.
只能装2和3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-15 16:30:41 | 显示全部楼层
学习编程中的Ben 发表于 2024-2-15 16:26
你要考虑到物品的不可分割性.
就像一个背包100空间.
物品1:占用101,价值100000000000000000

重点关心“什么情况下是对的”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-15 16:34:49 | 显示全部楼层
zhangjinxuan 发表于 2024-2-15 16:30
重点关心“什么情况下是对的”

不会有空间剩余或超出?

评分

参与人数 1贡献 +3 收起 理由
陶远航 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-2-15 17:07:46 | 显示全部楼层
学习编程中的Ben 发表于 2024-2-15 16:34
不会有空间剩余或超出?

?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-2-15 21:13:27 | 显示全部楼层    本楼为最佳答案   

就是如果按照性价比来选物品,到最好刚好装满,那么这种情况下按性价比是对的.给个最佳呗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-3 09:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表