01背包动态规划法.docVIP

  • 4
  • 0
  • 约2.02千字
  • 约 5页
  • 2019-06-17 发布于山东
  • 举报
01背包动态规划法 ----------------------------精品word文档 值得下载 值得拥有---------------------------------------------- 0—1背包问题 一、实验目的 学习掌握动态规划法思想。 二、实验内容 用动态规划法求解0—1背包问题,并输出问题的最优解。0—1背包问题描述如下: 给定n种物品和一背包。物品i的重量是Wi,其价值为Vi,背包的容量是c,问应如何选择装入背包中的物品,使得装入背包中物品的总价值最大。 三、实验条件 Jdk1.5以上 四、需求分析 对于给定n种物品和一背包。在容量最大值固定的情况下,要求装入的物品价值最大化。 五、基本思想: 动态规划算法与分治法类似,其基本思想是将待求解问题分解成若干个子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划法求解的问题,经分解得到的子问题往往不是互相独立的,若用分治法解这类问题,则分解得到的子问题数目太多,以至于最后解决原问题需要耗费过多的时间。动态规划法又和贪婪算法有些一样,在动态规划中,可将一个问题的解决方案视为一系列决策的结果。不同的是,在贪婪算法中,每采用一次贪婪准则便做出一个不可撤回的决策,而在动态规划中,还要考察每个最优决策序列中是否包含一个最优子序列。 六、详细设计 /* * Dynamic_Programming.java * * Created on 2007年6月3日, 下午4:13 * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package sunfa; /** * * @author Administrator */ public class Dynamic_Programming { public static void knapsack(int[] v, int[] w, int c, int[][] m) { /** v[] w[] c 分别是价值、重量、和背包容量数组 m[i][j]表示有i~n个物品,背包容量为j的最大价值。*/ ----------------------------精品word文档 值得下载 值得拥有---------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------- ----------------------------精品word文档 值得下载 值得拥有---------------------------------------------- int n = v.length-1; int jMax = Math.min(w[n]-1, c); for(int j = 0; j = jMax; j++) m[n][j] = 0; //当w[n]j 有 m[n][j]=0 //m[n][j] 表示只有n物品,背包的容量为j时的最大价值 for (int l = w[n]; l = c; l++) m[n][l] = v[n]; //当w[n]=j 有m[n][j]=v[n] //递规调用求出m[][]其它值,直到求出m[0][c] for(int i = n-1; i =1; i--) { jMax = Math.min(w[i]-1,c); for(int k = 0; k =jMax; k++) m[i][k] = m[i+1][k]; for(int h = w[i]; h = c; h++) m[i][h] = Math.max(m[i+1][h],m[i+1][h-w[i]]+v[i]); } m[0][c] = m[1][c]; if(c = w[0]) m[0][c] = Math.max(m[0][c],m[1][c-w[0]]+v[0]); } public static void traceback(int[][] m, int[] w, int c, int[] x) {// 根据最优值求出最优解 int n = w.length-1; for(int i = 0; in;i++) if(m[i][c] == m[i+1][c]) x[i] = 0

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档