动态规划-背包及最优二叉树.pptxVIP

  • 85
  • 0
  • 约5.2千字
  • 约 38页
  • 2016-12-03 发布于重庆
  • 举报
动态规划-背包及最优二叉树

0/1背包 0-1背包问题所谓0/1背包问题是指在物品不能分割,只能整件装入背包或不装入的情况下,求一种最佳装载方案使得总收益最大.给定n种物品和一背包,物品编号从1到n。物品i的重量是wi,其价值为vi,背包的容量为C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大.0-1背包问题是一个特殊的整数规划问题。2 动态规划法求解最优子结构0/1背包的最优解具有最优子结构特性。设 (x1, x2,… , xn),xi?{0,1}是0/1背包的最优解,那么,(x1 ,x2,… , xn-1) 必然是0/1背包子问题的最优解:背包载重C?wnxn,共有n-1件物品,第i件物品的重量为 wi,效益Vi,wi0,vi0,1?in。0-1背包问题设所给0-1背包问题的子问题的最优值为m(i,j),即m(i,j)是背包容量为j,可选择物品为1,2,…,i时0-1背包问题的最优值。由0-1背包问题的最优子结构性质,可以建立计算m(i,j)的递归式如下。例 假如有容量为9的背包,要装入4种体积为2,3,4和5的物品,价值分别为3,4,5和7。 要在不超出背包容量的前提下,用某种方法尽可能多地在背包内装入物品,使总价值最大, 首先,准备一个标号为0到4共5行和标号从0起到9共10列的空的矩形表,接着用值0初始化0列和0行的元素 按如下办法直接填行1的值:m[1,j]=3(第一种物品的价值),

文档评论(0)

1亿VIP精品文档

相关文档