装载问题的java实现(回溯法)
具体问题描述以及C/C++实现参见网址
http://blog.csdn.net/liufeng_king/article/details/8762073
package tanxin;
/**
* 装载问题--回溯法
* @author Lican
*
*/
public class load {
static int n;//集装箱数目
static int[] w;//集装箱重量数组
static int c;//第一艘轮船的载重量
static int cw;//当前载重量
static int bestw;//当前最优载重量
static int r;//剩余集装箱重量
static int[] x;//当前解,记录从根至当前节点的路径
static int[] bestx;//记录当前最优解
public static int maxLoading(int[] ww,int cc){
//初始化类数据成员,数组下标从1开始
n=ww.length-1;
w=ww;
c=cc;
cw=0;
bestw=0;
x=new int[n+1];
bestx=new int[n+1];
//初始化r,即剩余最大重量
for(int i=1;i<=n;i++){
r+=w[i];
}
//计算最