ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:290.70KB ,
资源ID:22365899      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22365899.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构课程设计文档格式.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计文档格式.docx

1、第5天 课程设计报告和总结指导教师(签字)日期年 月 日教研室意见:学生(签字): 接受任务时间: 年 月 日注:任务书由指导教师填写。课程设计(论文)指导教师成绩评定表题目名称评分项目分值得分评价内涵工作表现20%01学习态度6遵守各项纪律,工作刻苦努力,具有良好的科学工作态度。02科学实践、调研7通过实验、试验、查阅文献、深入生产实践等渠道获取与课程设计有关的材料。03课题工作量按期圆满完成规定的任务,工作量饱满。能力水平35%04综合运用知识的能力10能运用所学知识和技能去发现与解决实际问题,能正确处理实验数据,能对课题进行理论分析,得出有价值的结论。05应用文献的能力5能独立查阅相关文

2、献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获取新知识的能力。06设计(实验)能力,方案的设计能力能正确设计实验方案,独立进行装置安装、调试、操作等实验工作,数据正确、可靠;研究思路清晰、完整。07计算及计算机应用能力具有较强的数据运算与处理能力;能运用计算机进行资料搜集、加工、处理和辅助设计等。08对计算或实验结果的分析能力(综合分析能力、技术经济分析能力)具有较强的数据收集、分析、处理、综合的能力。成果质量45%09插图(或图纸)质量、篇幅、设计(论文)规范化程度符合本专业相关规范或规定要求;规范化符合本文件第五条要求。设计说明书(论文)质量30综述简练完整,

3、有见解;立论正确,论述充分,结论严谨合理;实验正确,分析处理科学。11创新对前人工作有改进或突破,或有独特见解。成绩指导教师评语指导教师签名: 年月日目录1、地图着色问题设计 - 2 -11、需求分析 - 2 -2、概要设计 - 4 -2.1、设定地图的抽象数据类型 - 4 -2.2、本程序包括两个模块 - 4 -3、详细设计 - 6 -3.1、地图数据类型的操作设置 - 6 -3.2、两点是否邻接的伪码算法 - 6 -3.3、着色伪码算法 - 6 -3.4、将邻接矩阵存储伪码算法 - 7 -3.5、主程序和其他函数的伪码算法 - 7 -3.6、函数调用关系图反映了演示程序的层次结构 - 7

4、-4、调试分析 - 8 -5、课程设计总结 - 12 -6、附录 着色后的中国地图 - 13 -7、参考文献 - 14 -8、程序源代码 - 15 -1、地图着色问题设计11、需求分析 1.1、以二维数组listN+1N+1表示地图,N表示区域数目,数组中以元素值为0表示不邻接,1表示邻接,限定区域数目N1=red 1=2=green 2=3=blue 3=4=yellow 4= 5= 6= 7= 8=1.6、程序执行的命令为:1)创建地图 2)存储地图 3)获取地图 4)地图着色 5)退出2、概要设计2.1、设定地图的抽象数据类型 ADT list 数据对象:D=ai,j|ai,j0、1,0

5、 =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)主程序模块: void main() 初始化; while 接受命令; 处理命令; 2)地图模块实现地图抽象数据类型各模块之间的调用关系如下: 主程序模块 地图模块3)数据结构的设计typedef struct /定义图 vextype vexsMAXedg; /存放边的矩阵 adjtype arcsMAXedgMAXedg; /图的邻接矩阵 int vnum,arcnum; /图的顶点数和

6、边数Graph;4)功能模块的划分及模块间调用关系3、详细设计3.1、地图数据类型的操作设置 int creat(int N,int listMAX+1) /初始化并创建地图的邻接矩阵3.2、两点是否邻接的伪码算法 int link(int x,int *dc,int n,int listMAX+1) /从1到n看是否与x相邻,是返回1 / 否则,返回0 for(i=0;in;i+) if(listdcix)return(1); return(0);3.3、着色伪码算法 int *fco(int *color,int N,int listMAX+1) /遇到一个区域,给它最小的颜色,看他是否与

7、该种颜色的区域邻接,是则另赋/颜色,否则找下个区域,如果还不能着色,则前面区域另设颜色,直到成功 初始化颜色N+1; 为第一个区域着色; for(k=0;k4;k+) 如果第k种颜色还未有地区,则将其赋予第i个区域; 否则,看他是否与第k种颜色的地区相邻 if(!link(i,dck,mcdk,list) dckmcdk=i; colori=k+1; mcdk=mcdk+1; break; if(colori=0)i=reset(i,color,mcd,dc,list);3.4、将邻接矩阵存储伪码算法 int save(int N,int listMAX+1) /将邻接矩阵存成文件3.5、主程

8、序和其他函数的伪码算法 void main /主程序 while(1) /系统初始化,主界面 clrscr();/清屏 显示清单 ReadCommand(cmd); /读入一个操作命令符 Interpret(cmd) ; /执行操作3.6、函数调用关系图反映了演示程序的层次结构1.Creat 2.save3.load4.fco5.exitLink4、调试分析4.1、首先使用了离散数学的解决方法,但在测试中国地图中出错,因为排序并不能解决递归调用的问题,后来省掉了排序,在使用开始那个例子时,第8个区域不能着色,因此,改采用递归的方法4.2、算法的时间复杂度为O(N),空间复杂度为O(N*N);4

9、.3、通过本次试验,我认识到采用递归方法比较快捷,实现方便4.4、由于地图上各省连接关系太多,所以这里只给出简单的测试数据,来测试该程序的功能,如下:给出如下示意图,省份抽象为点,接壤抽象为有边相连。顶点为:a b c d e f g相邻边:a-b a-f b-c b-e b-f c-d c-e c-f d-e e-f e-g f-g 图(一) 进入程序界面 图(二) 输入顶点数、边数及顶点 图(三) 输入每条边的两个顶点 图(四) 输出运行结果着色方案 图(五) 整体截图5、课程设计总结本次课程设计时间是为期一个星期,然而经过一个星期的课程设计上机实验操作,而我所选择的课程设计题目是“地图着

10、色问题求解”。在本次数据结构课程设计的过程,每天下午都是对着电脑不停地分析问题解决问题写代码实验,不然就是翻阅资料、问同学老师。在完成此项课程设计任务期间,我烦恼过、失落过、没有方向感过,也曾一度热情高涨。其中的点点滴滴现在想起来都是让我我回味无穷的。从本次的课程设计实验中让我体会到只有专业知识过硬基础扎牢了,同时设计的是时候做到细心、耐心、恒心才能运行出你所要的满意的结果。数据结构课程设计实验的目的不仅仅是为了加强了我们动手,思考分析和解决问题的能力,也让我们体会学以致用的过程,同时也对我们巩固和加深了对数据结构的理解,有关思想的认识有所提高和加深,并也提高综合运用本课程所学知识到实践中的能

11、力,培养了我们怎样选参考书、怎样用参考书、怎样查阅相关手册以及文献资料的能力,让我们逐渐培养独立思考,深入研究,分析问题,解决问题的能力。课程设计实验课使我认识到理论与实际的差别,懂得了怎样有效高效把理论与实际相结合的,因而在本次课程设计实验课中让我看到自己的理论知识掌握的程度,对理论知识的认识高度,虽然我在构思是很花费时间的,调试时也经常遇到这样或那样的低级错误,然而最终我还是比较顺利的完成了自己所选的课程设计题目,同时也在设计的过程中不断的积累自己的实战经验,为以后的学习以及编程打下了一个良好的基础,其中课程设计中的不足之处还希望老师能多多指点与建议。6、附录 着色后的中国地图7、参考文献

12、8、程序源代码#include stdlib.h#define MAXedg 100#define MAX 0#define N 4 /着色的颜色数#define w 1 /两点之间的权值int color30=0;/来存储对应块的对应颜色typedef char vextype;typedef int adjtype; vextype vexsMAXedg; adjtype arcsMAXedgMAXedg; int vnum,arcnum;/*int LocateVex(Graph G,char u) int i; for(i=1;=G.vnum; if(u=G.vexsi) return

13、 i; if(i=G.vnum) printf(Error u!n); exit(1); return 0;/*Graph CreateGraph(Graph G) /输入图 int i,j,k; vextype v1,v2;依次输入顶点数和边数: scanf(%d%d,&G.vnum,&G.arcnum); getchar();图的各个顶点分别为:%cG.vexsi); for(j=0;jG.vnum)/递归出口 output(G); else=N;i+)/对每一种色彩逐个测试 colors=i; if(colorsame(s,G)=0) trycolor(s+1,G);/进行下一块的着色/*void main() Graph G; G = CreateGraph(G); PrintGraph(G);本次的着色方案为: trycolor(1,G);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1