算法分析与设计实践 - 作业12 - 给定无向连通图G和m种颜色
1.问题
给定无向连通图G和m种颜色,用这些颜色给图的顶点着色,每个顶点一种颜色。如果要求G的每条边的两个顶点着不同颜色。给出所有可能的着色方案;如果不存在,则回答“NO”。
2.解析
使用回溯算法来解决问题。
设G有n个顶点,将顶点编号为1, 2, … n,则搜索空间为深度n的m叉完全树,将颜色编号为1,2, .,m,结点
<x1,x2…,xk >(x1,x2…,xk∈{1,…,m},1≤k≤m)表示顶点1的颜色x1,顶点2的颜色x2,…,顶点k的颜色xk
3.设计
//判断是否能着色
bool cancColoring(int x) {for (int i = 1; i <= n; ++i) {//若两点相邻且颜色相同if (graph[i][i] && color[i] == color[i]) {return false;}}return true;
}
//着色
void coloring(int x){if (x>n) {for (int i = 1; i <= n; i++){printf("%d ", color[i]);}s++;printf("\n");} else {for (int i = 1; i <= m; ++i) {color[x] = i;if (cancColoring(x)) {coloring(x+1);}color[x] = 0;}}
}
4.分析
5.码源
源码地址: https://github.com/chaoxing0910/ex12
算法分析与设计实践 - 作业12 - 给定无向连通图G和m种颜色相关推荐
- 算法分析与设计实践-作业2-Dijkstra算法求最短距离
1. 问题 对于下图使用Dijkstra算法求由顶点a到顶点h的最短路径. 2. 解析 Dijkstra算法通过从起始节点往相邻节点不断进行扫描,更新dist数组.path数组和set数组.然后遍历s ...
- 算法分析与设计实践-作业七-投资问题
一.问题 设m元钱,n项投资,函数Fi(x)表示投入第i项产生的效益,i=1,2,3 --n,问如何分配这m元钱,使投资效益最高? 二.组合优化问题 假设分配给第i个项目的钱为xi;即求max{f1( ...
- 基于广度优先遍历算法求采用邻接表存储的无向连通图G中从顶点u到v的最短路径
问题 假设图G采用邻接表存储,设计一个算法,求不带权无向连通图G中从顶点u->v的最短路径(路径上经过的顶点数最少.采用广度优先遍历来实现. 基本思路 我们首先来看一下BFS的过程: 图片摘自慕 ...
- 算法分析与设计—— 遍历问题【给定一个装满水的8品脱壶】
问题: 西蒙.丹尼斯.泊松是著名的法国数学家和物理学家.据说在他遇到某个古老的谜题之后,就开始对数学感兴趣了,这个谜题是这样的:给定一个装满水的8品脱壶以及两个容量分别为5品脱和3品脱的空壶,如何通过 ...
- 作业12图的着色问题
问题图的m着色问题.给定无向连通图G和m种颜色,用这些颜色给图的顶点着色,每个 顶点一种颜色.如果要求G的每条边的两个顶点着不同颜色.给出所有可能的着色方 案:如果不存在,则回答"NO&qu ...
- 算法分析与设计实验十二
问题 给定无向连通图G和m种颜色,用这些颜色给图的顶点着色,每个顶点一种颜色.如果要求G的每条边的两个顶点着不同颜色.给出所有可能的着色方案:如果不存在,则回答"NO". 解析 四 ...
- 算法分析与设计 西工大 noj 第二次实验
算法分析与设计 西工大 noj 第二次实验 Problem A 0-1背包问题 时限:1000ms 内存限制:10000K 总时限:3000ms 描述: 需对容量为c 的背包进行装载.从n 个物品中选 ...
- 算法分析与设计-实验四 回溯算法设计
文章目录 1.0-1背包问题 2.旅行售货员问题 3.图的m着色问题 一.实验目的: 掌握用回溯法解题的算法框架:根据回溯法解决实际问题. 二.实验所用仪器及环境 Windows 7 以上操作系统,P ...
- 东师19年春计算机在线作业,东师算法分析与设计20春在线作业1【标准答案】
算法分析与设计20春在线作业1题目 试卷总分:100 得分:100 一.单选题 (共 20 道试题,共 40 分) 1.按F5开始调试,程序便会直接运行到断点处.接下来可以逐行来运行程序,查看各个变 ...
最新文章
- 不包含本位置值的累乘数组
- WINDOWS SERVER 2003从入门到精通之DHCP中继代理
- (转)Python 用hashlib求中文字符串的MD5值
- 使用fyne绘制一个交通图标
- vi 打开不同编码的文件
- 【报表技术】IReport图形化报表开发工具生成PDF文档
- Activity has leaked window that was originally added 问题解决
- 微软将在英国投入20亿Bing广告 挑战Google的统治地位
- MTU MSS 详解记录
- 受保护的属性无法直接读取
- Android fb0 截屏实现
- learnpythonthehardway下载_Python【十一】:阶段小结
- SpringBoot执行流程
- hadoop 依赖式job_Java项目中使用XXL-JOB调度框架
- xml文件中同时满足多个条件_问与答81: 如何求一组数据中满足多个条件的最大值?...
- mfc之CPtrArray数组
- 命令行进入android设置,命令行编译生成APK
- 计算机开放电子书 2016 归档
- 《A Neural Layered Model for Nested Named Entity Recognition》
- SAP Fiori 的附件处理(Attachment handling)