看了很多网上的博客,发现对于0-1背包问题很多讲的都很专业,初学者学起来还是比较吃力,今天我就用最简单最形象的语言来描述一下0-1背包问题,为什么不能用贪婪算法,而要选择使用动态规划。
直到背包的容量为4千克的时候,我们才可以偷台灯,此时获得的最大价值为30元。
当背包的重量是4千克的时候,我们要么只能偷台灯,要么只能偷音响,发现偷台灯的价值会更大一点,所以我们选择偷台灯。
当背包容量为3千克时候,我们可以获得的最大价值就是偷了音响,20元。
当背包容量为4千克的时候,我们可以不偷充电宝,那么直接由上一行获得的最大价值传递过来,就是30元;我们也可以偷充电宝,那么要偷充电宝的话就只剩下3千克的背包容量了,在3千克的背包容量时能够获得的最大价值是20元,所以最后获得的最大价值为35元。两种情况比较,取最大值,所以最后小偷获得的最大价值为35元。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/164410.html原文链接:https://javaforall.cn