0-1背包问题动态规划 6.pptVIP

  • 14
  • 0
  • 约3.41千字
  • 约 15页
  • 2016-04-08 发布于湖北
  • 举报
0-1背包问题动态规划 6.ppt

动态规划(六) 0-1背包问题 问题描述:有 n 件物品x1, x2, …, xn , 每件物品有一个价值和一个重量,分别记为: v1,v2, …vn w1,w2, …wn 其中所有的 wi 均为整数。 现有一个背包,其最大载重量为m,要求从这n件物品中任取若干件(这些物品要么被装入要么被留下)。问背包中装入哪些物品可使得所装物品的价值和最大? 例如,m=23, n = 5, vi : 19 24 33 45 50 wi : 5 6 8 11 12 分析 最优子结构性质分析: 我们首先自问一个简单的问题:在最优解中,是否包括了xi(I=1..n)?只可能有两种情况: 1. 包括有。那么何妨另起炉灶,换一个更简单的问题来思考:在背包载重为m-wi的情况下,在其它n-1件物品中挑选,更得价值和最大。等把这个子问题求出后,再加上vi的价值就是整个问题的最优解了。 2. 没包括。那么就当xi根本不存在,直接解物品数量为n-1,背包载重为m的子问题。子问题的最优解就是问题的最优解。 这样,我们就看出,无论那种情况,在问题的最优解中,都包含着子问题的最优解。 分析 递归地定义问题的解: 请思考本题各数据的存储结构? 价值:一维数组v[1..n] 重量:一维数组w[1..n] 因为所求问题是n件物品,背包限重为m,随着问题规模的增减,n 和

文档评论(0)

1亿VIP精品文档

相关文档