完全背包java实现
来源:互联网 发布:大数据阅读材料文答案 编辑:程序博客网 时间:2024/06/09 03:38
完全背包是在N种物品中选取若干件(同一种物品可多次选取)放在空间为V的背包里,每种物品的体积为C1,C2,…,Cn,与之相对应的价值为W1,W2,…,Wn.求解怎么装物品可使背包里物品总价值最大。
下面是实现的java代码(由于写了好长时间了,整理电脑上的文件时想把多余的文件删掉,故先把程序写到这里,如果有空再解释。):
public class package1 { public static int beibao(int num,int value,int [][] f) {int[][] maxvalue=new int[num+1][value+1];for(int k=0;k<=num;k++){maxvalue[k][0]=0;}for(int y=0;y<=value;y++){maxvalue[0][y]=0;}for(int i=1;i<=num;i++){for(int j=1;j<=value;j++){for(int x=0;x<=value/f[i-1][0];x++){ if(x*f[i-1][0]>j){boolean flag=true; if(x==1)maxvalue[i][j]=maxvalue[i-1][j]; else { maxvalue[i][j]=maxvalue[i][j-f[i-1][0]]+f[i-1][1]; }if(flag)break;}else if(maxvalue[i-1][j]>(maxvalue[i-1][j-x*f[i-1][0]]+x*f[i-1][1])){maxvalue[i][j]=maxvalue[i-1][j];}else {maxvalue[i][j]=maxvalue[i-1][j-x*f[i-1][0]]+x*f[i-1][1];} }}}return maxvalue[num][value];} public static void main (String[] args){ int num=4; int weight=10; int [][] ff={{2,1},{3,3},{4,5},{7,9}}; int max= beibao(num,weight,ff); System.out.println(max); }}
0 0
- 完全背包java实现
- 完全背包 java实现
- 完全背包问题(Java实现)
- 完全背包基本实现
- 01背包 完全背包 多重背包 实现
- 完全背包问题 ------ java
- 背包问题--完全背包 详解以及实现
- 背包九讲之完全背包问题 Java实现 滑动数组
- Java——完全背包
- 01背包、完全背包、多重背包问题的C++实现
- 背包问题(01背包和完全背包)java求解
- 背包问题(01背包和完全背包)java求解
- 完全背包问题的改进实现
- 动态规划算法分析及实例——求解完全背包问题(java实现)
- 背包问题----完全背包(最优方案总数分析及实现)
- 背包问题---完全背包详细思路及实现
- 背包问题---01背包|完全背包(装满背包的方案总数分析及实现)
- 完全背包
- Powershell连接数据库
- Servlet的生命周期
- MapReducer中的多次归约处理
- 用邻接矩阵存储有向图 输出各点的出度和入度
- 取出数据库中的重复记录
- 完全背包java实现
- 获得Android手机的ip的方法
- 同步synchronized方法和代码块
- Request对象的主要方法
- struts2中的值栈
- Hibernate常见配置
- 最多几个点在一条直线上(poj1118 poj2606 poj2780)
- python 模块- 对XML的解析 ElementTree(元素树)
- hdu 3072 Intelligence System(强连通分量)