回溯法解决图着色问题Java代码

回溯法解决图着色问题Java代码 (该文作为我的一个学习记录,方便后续回看) 问题描述 图的 m- 着色判定问题 —— 给定无向连通图 G 和 m 种不同的颜色。用这些颜色为图 G 的各顶点着色,每个顶点着一种颜色,是否有一种着色法使 G

回溯法解决图着色问题Java代码

(该文作为我的一个学习记录,方便后续回看)

  1. 问题描述
    图的 m- 着色判定问题 —— 给定无向连通图 G 和 m 种不同的颜色。用这些颜色为图 G 的各顶点着色,每个顶点着一种颜色,是否有一种着色法使 G 中任意相邻的 2 个顶点着不同颜色 ?
  2. 思路及代码
    color[n]存储n个顶点的着色方案,可以选择的颜色为1到m。
    当x=1时,对当前第n个顶点开始着色:若x>n,则已求得一个解,输出着色方案即可。否则,依次对顶点x着色1到m, 若x与所有其它相邻顶点无颜色冲突,则继续为下一顶点着色;否则,回溯,测试下一颜色。
    代码如下:
public class graphcolor {
   
   
	public static int[][] c=new int[20][20];  //c存储图的邻接矩阵
	public static int[] color=new int[20];    //color表示顶点颜色
	public static int m,n,count=0;  //m

发布者:admin,转转请注明出处:http://www.yc00.com/web/1754941672a5218248.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信