算法设计与分析 回溯算法 实验报告_第1页
算法设计与分析 回溯算法 实验报告_第2页
算法设计与分析 回溯算法 实验报告_第3页
算法设计与分析 回溯算法 实验报告_第4页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武夷学院实验报告课程名称:算法设计与分析实验题目:回溯算法学生班级:09级计科一班学生姓名:学生学号:200940110指导教师:李晓飞完成日期:2011.11.24数学与计算机系

实验七

回溯算法一、实验目的与要求1、掌握装载问题的回溯算法;2、初步掌握回溯算法;二、实验题有一批共n个集装箱要装上2艘载重量分别为c1和c2的轮船,其中集装箱I的重量为wi,且装载问题要求确定是否有一个合理的装载方案可将这个集装箱装上这2艘轮船。如果有,找出一种装载方案。三.实验步骤1.程序输入:importjava.util.*;publicclasshuisuo{ publicstaticintnn; publicstaticintcc; publicstaticintbestww; publicstaticint[]ww; publicstaticint[]xx; publicstaticint[]bestxx; publicstaticintmaxLoadingRE(int[]w,intc,int[]bestx){ nn=w.length; cc=c; bestww=0; ww=w; bestxx=bestx; xx=newint[nn]; intr=0; for(inti=0;i<nn;i++){ r+=ww[i]; } trackback(0,0,r); returnbestww; } privatestaticvoidtrackback(inti,intcw,intr){/ if(i==nn){ for(intj=0;j<nn;j++){ bestxx[j]=xx[j]; } bestww=cw; return; } if(cw+ww[i]<=cc){ xx[i]=0; trackback(i+1,cw+ww[i],r); } if(r-ww[i]>bestww){ xx[i]=1; trackback(i+1,cw,r-ww[i]); } } publicstaticintmaxLoading(int[]w,intc,int[]bestx){ inti=0; intn=w.length; int[]x=newint[n]; Arrays.fill(x,-1); intbestw=0; int[]cw=newint[n]; int[]r=newint[n]; inttor=0; for(intitem:w){ tor+=item; } r[0]=tor; cw[0]=0; while(i>-1){ do{ x[i]+=1; if(x[i]==0){ if(cw[i]+w[i]<=c){ if(i<n-1){ cw[i+1]=cw[i]+w[i]; r[i+1]=r[i]; } break; } } else{ if(r[i]-w[i]>bestw){ if(i<n-1){ r[i+1]=r[i]-w[i]; cw[i+1]=cw[i]; } break; } } }while(x[i]<2); if(x[i]<2){ if(i==n-1){ for(intj=0;j<n;j++){ bestx[j]=x[j]; } if(x[i]==0){ bestw=cw[i]+w[i]; } else{ bestw=cw[i]; } } else{ i++; x[i]=-1; } } else{ i--; } } returnbestw; } publicstaticvoidmain(String[]args){ int[]w={20,10,40}; intn=w.length; intc=50; int[]bestx=newint[n]; intbestw=maxLoadingRE(w,c,bestx); System.out.println("bestw:"+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论