算法分析与设计实验报告-装载问题、图的m着色问题_第1页
算法分析与设计实验报告-装载问题、图的m着色问题_第2页
算法分析与设计实验报告-装载问题、图的m着色问题_第3页
算法分析与设计实验报告-装载问题、图的m着色问题_第4页
全文预览已结束

下载本文档

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

文档简介

1、实验报告课程计算机算法设计与分析实验名称装载问题、图的m着色问题学号姓名实验日期:实验四 装载问题、图的m着色问题一实验目的(1) 学习装载问题的简单算法,掌握原理,运用C+编程实现。(2) 学习图的m着色问题的简单算法,掌握原理,运用C+编程实现。二实验内容(1)设计转载问题的算法,上机编程实现。(2)设计图的m着色问题的算法,上机编程实现。三实验代码1 . 装载问题的程序代码如下:#includeusing namespace std;templateclass Loadingfriend Type MaxLoading(Type ,Type,int,int );private:void

2、Backtrack(int i);int n, *x,*bestx;Type *w, c, cw, bestw, r;templatevoid Loading:Backtrack(int i)if(in)if(cwbestw) for(int j=1;j=n;j+) bestxj=xj;bestw=cw;return;r-=wi;if(cw+wibestw)xi=0;Backtrack(i+1);r+=wi; templateType MaxLoading(Type w,Type c,int n,int bestx) LoadingX;X.x=new intn+1;X.w=w;X.c=c;X.

3、n=n;X.bestx=bestx;X.bestw=0;X.cw=0;X.r=0;for(int i=1;i=n;i+)X.r+=wi;X.Backtrack(1);delete X.x;cout所取物品:;for(i=1;i=n;i+)coutbestxi ;return X.bestw;void main() int w100,c,n,bestx6;coutn;cout输入n个物品重量:;for(int i=1;iwi;coutc;coutendl最大装载重量为:MaxLoading(w,c,n,bestx)endl;2. 图的m着色问题的程序代码如下:#include using nam

4、espace std;int sum;/ 判断对顶点k着色以后是否合法着色bool ok(int x, int k, bool c55, int n) int i; for(i = 0; i k; i+) if(cki & xk = xi) / 第k个顶点与某个相邻的顶点有颜色冲突 return false; return true; / 合法/ 输入n为顶点个数,颜色数m,图的邻接矩阵c/ 输出n个顶点的着色xvoid m_coloring(int n, int m, int x, bool c55) int i, k; / 一开始各个顶点无颜色 for(i = 0; i = 0) xk+;

5、 while(xk = m) & (!ok(x, k, c, n) / 得到最高标值的颜色 xk+; if(xk = m) / 第k个顶点的染色是合法的 if(k = n - 1) / 所有的顶点都已经染完色,程序退出 sum+; printf(n第中%d方案:,sum); for(i=0;in;i+) printf(%d ,xi); continue; /不能用break,否则求出一个结果程序就结束了 else k+; / 继续下一个顶点的染色 else / 第k个顶点的染色不合法,回溯 xk = 0; k-; / testint main() / 初始化 bool c55;int x5; int i, j; for(i = 0; i 5; i+) for(j = 0; j 5; j+) cij = true;/ 定义图,也可以设置成数组表示距离矩阵的形式 c04 = false; c24 = false; c40 = false; c42 = false; / 对5个顶点的图进行4着色 m_coloring(5, 4

温馨提示

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

评论

0/150

提交评论