背包问题(Knapsack Problem)
什么是背包问题
将一群物品放入一个背包中,令背包里面的物品价值最高。
![在这里插入图片描述](https://img-blog.csdnimg.cn/8cbd9728df9b44beb6e86fff5ec88111.png#pic_center)
用数学术语来说,背包问题就是选择一个最理想的物品子集合,在符合重量限制的前提下,求最大的利益。
分数背包问题(Fractional Knapsack Problem)
分数(Fractional)的意思,就是一个物品可以切下一个部分,只取某个部分放入背包。
这样的问题,我们可以指定一个贪心(Greedy)策略:价值与重量的比值最高的物品,优先放进背包。这样的策略,时间复杂度为 O ( N ) O(N)