算法设计课程设计--图的m着色问题

算法设计课程设计--图的m着色问题

ID:35626938

大小:86.00 KB

页数:10页

时间:2019-04-03

算法设计课程设计--图的m着色问题_第1页
算法设计课程设计--图的m着色问题_第2页
算法设计课程设计--图的m着色问题_第3页
算法设计课程设计--图的m着色问题_第4页
算法设计课程设计--图的m着色问题_第5页
资源描述:

《算法设计课程设计--图的m着色问题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、图的m着色问题1.问题描述给定无向量图G顶点和m种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色。是否有一种着色法使G图中每条边的两个顶点着不同的颜色。这个问题是图的m可着色判定问题。若一个图最少需要m种颜色才能使图中每条边连接的两个顶点着不同的颜色,则称这个数m为该图的色数。求一个图的色数m的问题称为图的m可着色问题。图的m着色问题1.算法设计一般连通图的可着色法问题并不仅限于平面图。给定图G=(V,E)和m种颜色,果这个图不是m可着色,给出否定回答,如果这个图是m的可着色的,找出所有不同的着色法。下面根据回朔法的递归描

2、述框架backtrack设计图的m着色算法。用图的邻接矩阵a表示无向量连通图G=(V,E)。若(i,j)属于图G=(V,E)的边集E,则a[i][j]=1,否则a[i][j]=0。整数1,2,…,m用来表示m种不同颜色。顶点i所有颜色用x[i]表示,数组x[1:n]是问题的解向量。问题的解空间可表示为一棵高度为n+1的完全m叉树。解空间树的第I(1<=i<=n)层中每一结点都有m个儿子,每个儿子相应于x[i]的m个可能的着色之一。第n+1层结点均为叶结点。在算法backtrack中,当i>n时,算法搜索至叶结点,得到新的m着色方案,当前

3、找到的m着色方案数sum增1。当I

4、turnsum;}privatestaticvoidbacktrack(intt){if(t>n){sum++;for(inti=1;i<=n;i++)System.out.println();}elsefor(inti=1;i<=m;i++)图的m着色问题x[t]=i;if(ok(t))backtrack(t+1);x[t]=0;}privatestaticbooleanok(intk){for(intj=1;j<=n;j++)if(a[k][j]&&(x[j]==x[k]))returnfalse;returntrue;}}图的m着

5、色问题1.图的m着色的回朔算法的程序:程序名:图的m着色法简要说明:此程序实现给定无向量图顶点和m种不同的颜色。用这些颜色为图的各顶点着色,每个顶点着一种颜色,并使图中每条边的两个顶点着色不同。求有多少个图色的方法?程序:importjava.io.*;//引入java.io包中的所有类importjava.util.Scanner;/*传入值:顶点数n,颜色数m输出值:当前解x,着色方案sum简要说明:定义主类和输入输出,并调用定义类Coloring*/publicclassClass1//定义主类,并调用定义类Coloring{pu

6、blicstaticvoidmain(Stringargs[]){Scannerscan=newScanner(System.in);System.out.println("p为顶点数q为颜色数");System.out.println("p的值:");intp=scan.nextInt();//输入p的值System.out.println("q的值:");intq=scan.nextInt();//输入q的值ColoringmyColor=newColoring(p,q);//为Coloring类创建一个新对象System.out.

7、println("sum="+myColor.mColoring(q));//输出着色方案最后结果InputStreamReaderin;//使运行结果的显示暂停BufferedReaderreader;in=newInputStreamReader(System.in);reader=newBufferedReader(in);Strings="";图的m着色问题try{s=reader.readLine();}catch(IOExceptione){System.out.println();System.exit(0);}Syste

8、m.out.println("TheEnd!");}}/*函数名:Coloring传入值:当前解x,着色方案sum输出值:当前解x,着色方案sum简要说明:图的可着色方法的回朔算法*/classColori

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。