ImageVerifierCode 换一换
格式:DOC , 页数:26 ,大小:589.04KB ,
资源ID:2474062      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(数据结构课程设计报告模板.doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

数据结构课程设计报告模板.doc

1、课程设计报告设计名称: 数据结构课程设计 选题名称: 连云港市景点导游咨询 系 (院): 计算机工程学院 设计时间: 2012。12。242013。1.4 设计地点: 软件工程实验室、教室 成绩:指导教师评语: 签名: 年 月 日1课程设计目的1、训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题. 2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4。训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严

2、谨的科学态度和良好的工作作风。2课程设计任务与要求:任务根据教材数据结构C语言描述(耿国华主编)和参考书数据结构题集(C语言版)(严蔚敏、吴伟民主编)选择课程设计题目,要求通过设计,在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用。设计题目从任务书所列选题表中选取,每班每题不得超过2人.学生自选课题学生原则上可以结合个人爱好自选课题,要求课题有一定的深度与难度,有一定的算法复杂性,能够巩固数据结构课程所学的知识。学生自选课题需在18周前报课程设计指导教师批准方可生效.要求:1、在处理每个题目时,要求从分析题目的需求入手,按设计抽象数

3、据类型、构思算法、通过设计实现抽象数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。前期准备工作完备与否直接影响到后序上机调试工作的效率.在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率。 2、.设计的题目要求达到一定工作量(300行以上代码),并具有一定的深度和难度。3、程序设计语言推荐使用C/C+,程序书写规范,源程序需加必要的注释;4、每位同学需提交可独立运行的程序;5 、每位同学需独立提交设计报告书(每人一份),要求编排格式统一、规范、内容充实,不少于10页(代码不算);6、课程设计实践作为培养学生动手能力的一种手段,单独考核。 3课程设计说明书一 需

4、求分析连云港作为一个著名的旅游城市,每年都有大量的国内外游客来港城旅游,大多数外地游客对连云港的旅游景点的相关信息不是非常了解,所以我们可以为他们设计一个方便在连云港外出旅游的咨询程序,即连云港市景点导游咨询程序。连云港市导游咨询程序需要把连云港市的主要景点,都包括在一个平面图内。(1) 以图中各顶点存放连云港的各景点名称,代号,简介等相关信息 (2)程序中,以各个旅游景点名称为图的顶点,各个顶点的信息是景点的简要描述,权值就是任意两个景点间的路径长度。(3) 以边存放路径及路径长度等相关信息,游客可根据图所提供的景点来查询各个景点的相关信息及各景点的路径查询。(4) 提供两个景点间的所有路径

5、并提示最短路径,为游客的旅游带来方便,游客可根据实际情况选择最佳的游览路线。二 概要设计1、抽象数据类型图的定义如下: ADT Graph数据对象V:V是具有相同特性的数据元素的集合,称为顶点集。数据关系R:R=VRVR=(v,w)|v,wV,(v,w)表示v和w之间存在路径基本操作P: path(MGraph g,int i,int j,int k)初始条件:要查询的起点i与终点j,k初始值为0操作结果:确定路径上第k+1个顶点的序号,找到从vi到vj的所有路径 disppath(MGraph g,int i,int j)初始条件:定义一个图与起点i终点j操作结果:初始化访问标志与路径条数,

6、并调用path()函数 ppath(MGraph g,int path1,int i,int v0)初始条件:定义一个图,path1i存放顶点i的当前最短路径上该点的前趋顶点,i为终点,v0为起点操作结果:输出最短路径 dispath(MGraph g,int dist,int path1,int s,int n,int v0,int i)初始条件:定义一个图,用disti存放顶点i的当前最短路径长度,path1i 存放顶点i的当前最短路径上该点的前趋顶点,n为景点个数,v0与i分别为起点与终点操作结果:由path1计算出从v0到i的最短路径 Dijkstra(MGraph g,int v0,

7、int p)初始条件:定义图与起点与终点操作结果:采用迪杰斯特拉算法求从顶点v0到顶点p的最短路径 Searchname(MGraph g)初始条件:定义一个图操作结果:查询景点的信息 Searchpath1(MGraph g)初始条件:定义一个图操作结果:查询两个景点间的所有路径 Searchpath2(MGraph g)初始条件:定义一个图操作结果:查询两个景点间的最短路径ADT Graph2、系统中子程序及功能要求:path(MGraph g,int i,int j,int k):确定路径上第k+1个顶点的序号,k初始值为0disppath(MGraph g,int i,int j):初

8、始化访问标志与路径条数,并调用path()函数ppath(MGraph g,int path1,int i,int v0):输出最短路径dispath(MGraph g,int dist,int path1,int s,int n,int v0,int i):由path1计算从v0到i的最短路径Dijkstra(MGraph g,int v0,int p):采用迪杰斯特拉算法求从顶点v0到顶点p的最短路径Searchname(MGraph g):查询景点的信息Searchpath1(MGraph g):查询两个景点间的所有路径Searchpath2(MGraph g):查询两个景点间的最短路径

9、Searchpath3(MGraph g):添加动态景点3、 各程序模块之间的调用关系:函数的调用关系图mainSearchname Searchpath1 Searchpath2 Searchpath2 disppath Dijkstra path dispath path ppath Ppath 主函数调用 可调用 可调用可调用 可调用 可调用可调用 可调用三 详细设计顶点、边和图的类型:typedef structint num;/顶点编号/ char nameMAXSIZE;/顶点名称/ char discriptionMAXLEN;/顶点信息描述/VertexType; typede

10、f structint edgesMAXVMAXV; int vexnum,arcnum;VertexType vexsMAXV; MGraph;int visitedMAXV;int pMAXV;创建连云港市景点地图:int i,j;int b11=1,2,3,4,5,6,7,8,9,10,11;char *c11=/各个景点名称/;char *d11=/*字符串指针数组,用来给每个顶点的简介信息进行赋值*/;MGraph g;/*创建一个无向网/ int A1111=/景点的相关简介进行赋值/ ; g。vexnum=顶点个数;g。arcnum=顶点边数;/建立无向网的邻接矩阵*/for(i

11、=0;i孔子忘角-玉女峰 路径长度:25公里 4.查询所有路径如:选出出发地:孔望山 目的地:连岛系统输出如下: 孔望山-连岛 孔望山-前三岛-枫树湾-连岛 孔望山-前三岛-枫树湾-桃花涧-连岛 孔望山-前三岛-枫树湾-桃花涧-东海温泉-连岛 结果正确5. 动态添加景点 动态添加,目前只能添加进信息,方便查询,还未实现求路径的功能。五 用户手册本程序界面如下:按序号进行操作!六 测试成果1、 查询景点2、 查询所有路径3、 查询最短路径4、 添加景点七 附录(源程序清单)includestdio。h#includestring。hinclude stdlib.hdefine MAXV 11/*

12、最多顶点个数/#define MAXSIZE 20/字符串成员name的最大长度/define MAXLEN 500/*字符串成员content的最大长度/#define INF 32768/*用32768表示/int a=0;/*全局变量,用来记录每对顶点之间的所有路径的条数*/static n=8;typedef structint num; char nameMAXSIZE; char discriptionMAXLEN; VertexType;/*顶点的结构定义*/ typedef structint edgesMAXVMAXV; int vexnum,arcnum; VertexTy

13、pe vexsMAXV;MGraph;/*网的结构定义*/int visitedMAXV;/*全局数组,用来记录各顶点被访问的情况/int pMAXV;/全局数组,用来存放路径上的各顶点/void path(MGraph g,int i,int j,int k) /*i为要查询是起始点,j为要查询的终点,相当于深度优先遍历/int s;if(pk=j)a+;printf(第%d条:”,a);for(s=0;s”,g.vexsps.name);printf(sn,g。vexsps.name);s=0;while(sg。vexnum)if(s!=i)/*保证找到的是简单路径,保证没有回路/if(g

14、.edgespks!=INF&visiteds=0)visiteds=1;pk+1=s;path(g,i,j,k+1);visiteds=0;s+;void disppath(MGraph g,int i,int j)int k; p0=i; for(k=0;kg.vexnum;k+)visitedi=0;a=0;path(g,i,j,0);void ppath(MGraph g,int path1,int i,int v0)int k;k=path1i; if(k=v0)return;ppath(g,path1,k,v0);printf(”s,g.vexsk。name);/*输出最短路径/v

15、oid dispath(MGraph g,int dist,int path1,int s,int n,int v0,int i)if(si=1&i!=v0)printf(”从s到s的最短游览路径是:n,g.vexsv0。name,g.vexsi.name);printf(”s-”,g.vexsv0。name); ppath(g,path1,i,v0); printf(”s ,g.vexsi。name); printf(”路径长度:%d公里n,disti);/*由path1计算从v0到i的最短路径/void Dijkstra(MGraph g,int v0,int p)/采用迪杰斯特拉算法求从

16、顶点v0到顶点p的最短路径/int distMAXV,path1MAXV;int sMAXV; int mindis,i,j,u,n=g。vexnum;for(i=0;in;i+)disti=g.edgesv0i;si=0;if(g。edgesv0iINF)path1i=v0;else path1i=1;sv0=1;path1v0=0;for(i=0;in;i+)mindis=INF;u=-1;for(j=0;jn;j+)if(sj=0&distjmindis) u=j;mindis=distj;su=1;for(j=0;jn;j+)if(sj=0)if(g.edgesujINFdistu+g

17、.edgesujdistj)distj=distu+g。edgesuj;path1j=u;dispath(g,dist,path1,s,n,v0,p);/输出最短路径/void Searchname(MGraph g)/*查询景点的信息/printf(景点:n); printf(”-n);printf(”tt1:锦屏山ntt2:将军崖岩画n”);printf(tt3:古城ntt4:孔子望角ntt5:玉女峰ntt6:江岭ntt7:花果山n);printf(”tt8:猴嘴公园n”); printf(”-n”); int i; char s; while(1)/可提供循环查询,当输入为N或n时,结束

18、循环/printf(ttt 请输入你要查询的景点:); scanf(d”,i);for(int j=0;jg。vexnum;j+)if(i=g.vexsj.num)printf(%s简介:n”,g.vexsj.name); printf(”-n”);printf(s”,g。vexsj.discription);printf(n); printf(-n”);printf(继续查询?(y或n):”);scanf(s”,&s);if(s=Ns=n)break;void Searchpath1(MGraph g)/*查询两个景点间的所有路径*/ printf(景点:n”); printf(”-n);p

19、rintf(”tt1:锦屏山ntt2:将军崖岩画n”);printf(tt3:古城ntt4:孔子望角ntt5:玉女峰ntt6:江岭ntt7:花果山n”);printf(”tt8:猴嘴公园n); printf(-n); int i,j; char s; while(1)printf(ttt 选择出发景点:”); fflush(stdin); scanf(”d”,i);printf(”ttt 选择目地景点:); fflush(stdin);scanf(”d,j);for(int k=0;kg。vexnum;k+)if(i=g.vexsk。num) i=k;for(int l=0;lg.vexnum

20、;l+)if(j=g。vexsl.num) j=l;printf(”从s到%s的所有游览路径有:n,g。vexsi.name,g。vexsj.name);disppath(g,i,j);printf(”-n);printf(继续查询?(y或n):”);scanf(s,&s);if(s=N|s=n)break;void Searchpath2(MGraph g)/查询两个景点间的最短路径/ printf(景点:n”); printf(”-n”);printf(”tt1:锦屏山ntt2:将军崖岩画n”);printf(”tt3:古城ntt4:孔子望角ntt5:玉女峰ntt6:江岭ntt7:花果山n

21、);printf(”tt8:猴嘴公园n”); printf(”-n); int i,j; char s; while(1)printf(”ttt 选择出发景点:);fflush(stdin);scanf(”d”,i);printf(”ttt 选择目地景点:);fflush(stdin); scanf(d”,j); for(int k=0;kg.vexnum;k+)if(i=g。vexsk.num) i=k;for(int l=0;lg。vexnum;l+)if(j=g.vexsl。num) j=l;Dijkstra(g,i,j);printf(”-n);printf(”继续查询?(y或n):)

22、;scanf(”%s”,s);if(s=N|s=n)break;void Searchpath3(MGraph g,char c,char *d) / 动态添加景点printf(请输入你想添加的景点:n);printf(”-n”);char s;while(1)printf(”景点名称:n);int i=0;while(in1)i+;scanf(”%s”,&(g。vexsi。name));ci=g.vexsi.name; printf(”景点简介:n);scanf(”%s,&(g.vexsi.discription));di=g。vexsi.discription;printf(继续查询?(y

23、或n):”);scanf(”%s”,s);if(s=N|s=n) break;void main()/*主函数/int i,j;int b11=1,2,3,4,5,6,7,8;char c11=锦屏山,”将军崖岩画”,古城,孔子望角,玉女峰,江岭”,”花果山”,”猴嘴公园;char d11=名称:锦屏山n简介:因山色锦绣,美如画屏,而被康熙皇帝命名为锦屏山n票价: 10”, 名称:将军崖岩画n简介:这是我国迄今发现的最古老时代岩画,是东南沿海地区首次发现的岩画n票价:20, 名称:古城n简介:古城为黄土夯成,当年建筑时留下来的孔穴和层层夯印,现在仍历历在目n票价:30, 名称:孔子望角n简介:

24、这座由花岗岩、片麻岩构成的古老体,距今已有18亿年的历史n票价:40, 名称:玉女峰n简介:岩壁秀润光洁,宛如玉石雕就,乘坐竹筏从水上望去,俨然是一位秀美绝伦的少女n票价:50”, 名称:江岭n简介:河边聚集的三、四个村庄,四周围绕着青山,构成了一副极美的婺源农村风光画卷n票价:60, 名称:花果山n简介:景区内峭壁悬崖,层峦叠嶂,巍峨壮观,且植被丰富,景色秀丽,一年四季皆有特色n票价:70, ”名称:猴嘴公园n简介:街道巷闾,纵横交错,高楼广厦,鳞次栉比,令人心旷神怡n票价:80;MGraph g; int A1111= INF,13,INF,INF,INF,INF,INF,15, 13,I

25、NF,5,INF,INF,15,12,INF, INF,5,INF,15,INF,INF,INF,5, INF,INF,15,INF,10,INF,INF,INF, INF,INF,INF,10,INF,10,8,INF, INF,15,INF,INF,10,INF,INF,12, INF,INF,8,INF,INF,18,INF,INF, INF,INF,INF,18,INF,10,15,INF; g。vexnum=n; g.arcnum=14; for(i=0;ig.vexnum;i+) for(j=0;jg。vexnum;j+) g。edgesij=Aij;/建立无向网的邻接矩阵/ fo

26、r(i=0;ig.vexnum;i+) g.vexsi.num=bi; strcpy(g.vexsi。name,ci); strcpy(g.vexsi。discription,di); int select; do system(”cls”); printf(-连云港市导游咨询程序-n”); printf(”本程序能够:n”); printf(n n”); printf( n); printf(” 1、查询景点的信息 n”); printf(” 2、查询景点间的游览路径 n); printf(” 3、查询景点间的最短游览路径 n); printf(” 4、输入您要添加的景点 n); print

27、f( 5、退出 n); printf(” n); printf(” n); printf(-n”); printf(” 请输入您的选择:”); scanf(”d”,select); switch(select) case 1: Searchname(g);/查询景点的信息/ break; case 2: Searchpath1(g);/查询景点间的游览路径/ break; case 3: Searchpath2(g);/查询景点间的最短游览路径*/ break; case 4: n=n+1; Searchpath3(g,c,d);/*查询动态添加的景点到各景点间的游览路径/ int w; pr

28、intf(”n加了该新景点后的信息为:n”); for(w=0;wn;w+) printf(%sn,cw); printf(”sn”,dw); break; case 5:/退出本程序/ break; while(select!=4); /当select的值不为4时,继续循环/4. 课程设计心得 这次课程设计运用到了大学c+语言和大二所学习到的数据结构知识点,课设题目要求不仅要求对课本知识有较深刻的了解,同时要求程序设计者有较强的思维和动手能力。刚开始拿到题目时,完全不知道如何下手,开始在网上找类似的,结果还真的找到了两份,这两份的思想是完全不一样的,起初想着参考一下,各取一半的思想,本来以为

29、很简单就可以把程序调出来,可结果是没那么简单。慢慢的按照老师计划书上的指示一步来一步来,首先,我必须先对我选的这个题目进行概要的分析、设计,分析出这个程序是干什么用的,应该实现什么功能,这些功能应该包含哪些函数,函数之间应该是怎样的调用关系.比如说我做的连云港市导游咨询,我就做的包括三方面:1、查询景点信息2、查询景点间的游览路径3、查询景点间的最短游览路径。4、添加动态景点。首先我必须知道景点的信息包括哪些,必须清楚的了解好信息才可以下手。 在主函数中主要调用了三个函数,分别是 Searchname(g)、Searchpath1(g)、Searchpath2(g),也就是通过这三个函数来实现我们要求的三个查询功能。比较难的是后两个,它们,调用的函数比较多,并且考虑的方面也要全面,在Searchpath1(g)调用的函数中,特别是path(MGraph g,int i,int j,int k

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服