- 11
- 0
- 约5.56千字
- 约 16页
- 2018-02-06 发布于江西
- 举报
连通图着色求解
目 录
1 课程设计介绍 1
1.1 课程设计内容 1
1.2 课程设计要求 1
2 课程设计原理 2
2.1 课设题目粗略分析 2
2.2 原理图介绍 2
2.2.1 功能模块图 2
2.2.2 流程图分析 3
3 数据结构分析 6
3.1 存储结构 6
3.2 算法描述 6
4 调试与分析 9
4.1 调试过程 9
4.2 程序执行过程 9
参考文献 11
附 录(关键部分程序清单) 12
1 课程设计介绍
此次课程设计的重在检验学生的数据结构的理解和应用,增强学生的实际动手能力。
1.1 课程设计内容
输入了一个无向图,给图上的每一个结点标记一种颜色,在保证每个相邻结点颜色不同时,求解该图所需要的最少颜色数,并给出每个结点的具体颜色。
1.2 课程设计要求
利用所学知识设计相对应的数据结构;
熟练运用开发环境;
完成软件设计与编码;
熟练掌握基本的调试方法;
提交符合设计规范的报告;
2 课程设计原理
此次课程设计的题目为连通图着色求解,主要用的是韦奇儿·鲍威尔算法。
2.1 课设题目粗略分析
根据题目中的要求建立一个着色求解模型,在每个点上涂不一样的颜色,相邻的两个结点颜色要求不同,这与离散中的着色问题比较一致,运用韦奇儿·鲍威尔算法即可解决之。
2.2 原理图介绍
此小节主要介绍了此次课程设计中主要算法的功能模块图和流程图。
2.2.1 功能模块图
图2.1 功能模块图
2.2.2 流程图分析
主模块,调用子模块, 流程图如下:
图2.2.1主模块流程图
创建模块,建立图和邻接矩阵,完成一些相应的操作,流程图如下:
图2.2.2创建模块流程图
求解模块,完成对结点涂色及对所需颜色的数目,流程图如下:
图2.2.3求解模块流程图
3 数据结构分析
此次课程设计的结构比较简单,用的是邻接矩阵的方法来表示。
3.1 存储结构
在定义结构体数组建立整个图的信息,包括图的各个结点的名称及对应的数字编号,每个结点的出度,并且每个结点建立对应的邻接表:
建立邻接矩阵:
typedef struct ArcCell{
int adjvex;
}ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];
输入结点数据和记录结点的出度:
typedef struct Vnode{
int data;
int Outdegree;
}Vnode,Adjlist[MAX_VERTEX_NUM];
定义一个图结构:
typedef struct{
AdjMatrix g;
Adjlist vertices;
int vexnum,arcnum;
}Graph;
3.2 算法描述
由韦奇儿·鲍威尔算法:
a)将图的结点按照结点度数减少的次序进行排列;
b) 用第一种颜色对第一点着色,并且按排列次序对与前面着色点不相连的没一点图上一种颜色;
c)用第二种颜色对尚未着色的点重复b,用第三种颜色继续这种做法,直到所有的点都涂上颜色。
根据韦奇儿·鲍威尔算法具体的算法如下:
1. 先求每个结点的出度,可根据邻接矩阵每行的和就等于该结点的出度,算法如下:
用for循环执行以下的程序,求每个结点的出度数
sum=0;
for(j=0;jG.vexnum;j++)
{
sum=sum+G.g[i][j].adjvex;
其中G.g[i][j].adjvex表示邻接矩阵的数据(1或0)
G.vertices[i].Outdegree=sum;
}
2. 根据韦奇儿·鲍威尔算法,要对每个结点的出度进行从大到小的排序,具体算法如下:
用双重循环执行:
若Q[s]Q[s+1]则Q[s]与Q[s+1]交换;
visited[s]与visited[s+1]交换;
其中visited[s]代表从小到大排列的顺序;
Q[s]则记录该点的出度;
3. 根据韦奇儿·鲍威尔算法,由每个结点出度,对结点度数从大到小对与其不相邻的结点涂一样的颜色,重复此操作,具体算法如下:
双重循环执行:
若(G.g[visited[i]][j].adjvex==0 visited[i]!=j aG.vexnum)
{
输出与%d颜色以一样的有%d\n,
接着执行
用以记录参数;
若(G.vertices[visited[
您可能关注的文档
- 输油管道检漏系统.doc
- 输气工中级.doc
- 输液泵的应用,貌似简单,内有大学问.ppt
- 辐照预防TA-GVHD.ppt
- 输血治疗.ppt
- 输煤专业运行日常管理制度.doc
- 辛亥人物——宋教仁 .ppt
- 辛亥革命的历史功绩与意义.ppt
- 辣妹子网络营销优化方案deflate.doc
- 辛亥革命纪念.ppt
- 城市轨道交通(地铁)车站行车工作细则(试行).doc
- 算法偏见与性别不平等-第1篇.docx
- 八年级英语上学期期末模拟卷02(word版,有答案详解).docx
- 广东2025—2026学年人教版八年级英语上册期末培优试题三(word版,有答案详解).docx
- 律师代理离婚诉讼案件操作指引(2025).docx
- 2024~2025学年江西省南昌市第十中学高三上学期期末考试物理试卷.doc
- 基于视频分析的物理课堂行为模式研究与评价方法构建.pdf
- 大中衔接视域下的α粒子散射实验数字化教学 App设计.pdf
- 纺粘和熔喷精密组件清理工应急处置操作规程.docx
- 2025年汽车专业实习报告(15篇).docx
原创力文档

文档评论(0)