- 3
- 0
- 约 4页
- 2016-11-30 发布于贵州
- 举报
动态规划中的背问题
普遍的三种背包的不同解法
01背包
题目:有N件物品和容量为V的背包,第i件物品的体积(费用)为C[i],价值是W[i]。求解将哪些物品装入背包可使价值最大?
分析
特点:物品不能拆分,物品只有一件。
思路:惯性的思维方式是首先装价值高、费用低的品,这样我们会有一种处理方式,求出物品的价值费用比,T[i]= W[i] /C[i],然后按T的值从大到小往背包里装。但是这样最后的结果是最优的吗?
假如有三件物品价值分别为9、4、6,费用为4、2、3,背包容积为5,如果按照上述的做法来装,那么只能把第一件物品装上,但这并不是最优的方案,最优方案应该是装第二件和第三件。
那么如何来往背包里装物品呢?这需要不断的尝试,类似于枚举,但是当物品数量很多时,枚举的复杂度就会剧增。
现在我们假设有V个背包,每个背包的容量一次递增,首先取第一件物品装入能装的下的背包,然后取第二件物品再装入能装入的背包,当将要装入的物品和背包内已装有的物品存在冲突时,更新背包里的物品,使背包里物品的价值最大。
例:有四件物品体积为5、3、6、8。价值为4、4、7、10。背包容量为9
1 2 3 4 5 6 7 8 9 5 0 0 0 0 4 4 4 4 4 3 0 0 4 4 4 4 4 8 8 6 0 0 4 4 4 7 7 8 11 8 0 0 4 4 4 7 7 10 11 最后得出最大价值
原创力文档

文档评论(0)