资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
回溯算法最大团和M着色问题JAVA源程序实验报告12 课程 数据结构与算法 实验名称 回溯法 第 页 班级 11计本 学号 105032011130 姓名 风律澈 实验日期:2013年5月27日 报告退发 (订正 、 重做) 一、实验目的 掌握回溯法的原理和应用。 二、实验环境 1、微型计算机一台 2、WINDOWS操作系统,Java SDK,Eclipse开发环境 三、实验内容 必做题: 1、编写程序,采用回溯法求解最大团问题。 2、编写程序,采用回溯法实现m着色问题。 四、实验步骤和结果 (附上代码和程序运行结果截图) 1最大团 public class Maxclique /* * param args */ static graph a; static int n;/顶点数目 static int nowanswer;/当前解 static int nowpointn;/当前顶点数量 static int nowmostpointn;/当前最多顶点子图 static int nowbestanswer;/当前可能最优解 public static void main(String args) / TODO Auto-generated method stub int x=1,1,0,1,1, 1,1,1,0,1, 0,1,1,0,1, 1,0,0,1,1, 1,1,1,1,1 ; /初始化变量 n=5; a=new graph(x,n);nowanswer=new intn; nowpointn=0; nowmostpointn=0; nowbestanswer=new intn; nowbestanswer=a.getpoint(1).getreach(); nowanswer0=1; /进入算法 backtrack(0); /输出解 System.out.println(nowmostpointn); for(int i=0;in-1) for(int j=0;jnowmostpointn) nowansweri=0; backtrack(i+1); public class graph private point p; public graph(int x,int n) p=new pointx.length;for(int i=0;in) sum+; for(int i=1;i=n;i+) System.out.print(xi+ ); System.out.println(); else for(int i=1;i=m;i+) xt=i; if(check(t)=1)backtrack(t+1); xt=0; private static int check(int k) / TODO Auto-generated method stub for(int j=1;j=n;j+) if(akj=1&(xj=xk) return 0; return 1; public static void main(String args) / TODO Auto-generated method stub a=new int 0,0,0,0,0,0, 0,0,1,1,1,0, 0,1,0,1,1,1, 0,1,1,0,1,0, 0,1,1,1,0,1, 0,0,1,0,1,0 ; m=4; n=5; x=new int6; long count; count=mColoring(m); System.out.println(count); 五、实验总结 (本次实验完成的情况,心得体会)本文档来源于第一文库网:https:/www.wenku1.net/news/7E67698371D5A7CE.html
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号