1、 学生课程设计(论文)学生课程设计(论文) 题 目: 地图着色问题求解 2012 年 6 月 14 日 数据结构课程设计 任务书 本科学生课程设计任务书本科学生课程设计任务书 题题 目目 地图着色问题求解 1、课程设计的目的、课程设计的目的 1) 使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、 存储结构和操作 实现算法,以及它们在程序中的使用方法。 2) 使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。 3) 使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。 2、课程设计的内容、课程设计的内容和要求(包括原始数据、技术要
2、求、工作要求等)和要求(包括原始数据、技术要求、工作要求等) 已知中国地图,对各省进行着色,要求相邻省所使用的颜色不同,并保证使用的颜色总数 最少。 3、主要参考文献、主要参考文献 1 数据结构 (C 语言版) ,严蔚敏,清华大学出版社,2003 2 数据结构题集 ,严蔚敏,清华大学出版社,2005 3 数据结构 (C 语言版) ,刘大有,高等教育出版社,2004 4 Data Structure with C+ ,William FordWilliam Topp,清华大学出版社,2003 4、课程设计工作进度计划、课程设计工作进度计划 第第 1 天天 完成方案设计与程序框图 第第 2、3 天
3、天 编写程序代码 第第 4 天天 程序调试分析和结果 第第 5 天天 课程设计报告和总结 指导教师指导教师(签字) 日期日期 年 月 日 教研室意见:教研室意见: 年 月 日 学生学生(签字) : 接受任务时间: 年 月 日 注:注:任务书由指导教师填写。 数据结构课程设计 目录 - 1 - 目录 1 1、地图着色问题设计、地图着色问题设计 - 2 - 11、需求分析 . - 2 - 2 2、概要设计、概要设计 - 4 - 2.12.1、设定地图的抽象数据类型. - 4 - 2.2、本程序包括两个模块 - 4 - 3 3、详细设计、详细设计 - 6 - 3.1、地图数据类型的操作设置. - 6
4、 - 3.2、两点是否邻接的伪码算法. - 6 - 3.3、着色伪码算法 - 6 - 3.4、将邻接矩阵存储伪码算法. - 7 - 3.5、主程序和其他函数的伪码算法 - 7 - 3.6、函数调用关系图反映了演示程序的层次结构. - 7 - 4 4、调试分析、调试分析 - 8 - 5 5、课程设计总结、课程设计总结 - 12 - 6 6、附录、附录 着色后的中国地图着色后的中国地图 - 13 - 7 7、参考文献、参考文献 .- 14 - 8 8、程序源代码、程序源代码- 15 - 数据结构课程设计 地图着色问题设计 - 2 - 1 1、地图着色问题设计地图着色问题设计 11、需求分析 1.1
5、1.1、以二维数组 listN+1N+1表示地图,N 表示区域数目,数组中以元素 值为 0 表示不邻接,1 表示邻接,限定区域数目 N1=red 1=2=green 2=3=blue 3=4=yellow 4=1=red 5=2=green 6=2=green 数据结构课程设计 地图着色问题设计 - 3 - 7=4=yellow 8=3=blue 1.61.6、程序执行的命令为: 1)创建地图 2)存储地图 3)获取地图 4)地图着色 5)退出 数据结构课程设计 概要设计 - 4 - 2 2、概要设计、概要设计 2.12.1、设定地图的抽象数据类型 ADT list 数据对象:D=ai,j|ai,j0、1,0 =i=N,0=j=N 数据关系:R=ROW,COL ROW=|ai-1,j,ai,jD,i=1,N,j=0,N COL=|ai,j-1,ai,jD,i=0,N,j=1,N 2.2、本程序包括两个模块 1 1)主程序模块: void main() 初始化; while 接受命令; 处理命令; 2 2)地图模块实现地图抽象数据类型 各模块之间的调用关系如下: 主程序模块 地图模块 3)数据结构的设计 typedef struct /定义图 vextype vexsM