- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据结构》课程设计实习指导书
一 课程设计的目的和意义
1、初步具备;
3、初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风
1、问题定义:根据设计题目的要求,充分地分析和理解问题,限制条件对问题描述中涉及的操作对象定义相应的数据类型和各抽象数据类型写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明):按照以数据结构为中心的原则划分模块定义主程序画出模块之间的调用关系图在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试详细设计:各个主要模块的算法定义。详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,伪码写出函数的算法程序编码:把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解,使程序中逻辑概念清楚
6、程序调试与测试:采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果结果分析:程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。算法的时间、空间复杂性分析编写课程设计报告严蔚敏《数据结构 C语言》清华大学出版社谭浩强《c语言程序设计》清华大学出版社《数据结构》高教出版社李春保《数据结构习题》清华大学出版社严蔚敏《数据结构习题》清华大学出版社《c语言与数据结构》清华大学出版社《数据结构(C语言篇)习题与解析》清华大学出版社1 线性表及其应用
本次实习的主要目的在于帮助学生熟练掌握线性表的基本操作在两种存储结构上的实现,其中以各种链表的操作和应用作为重点内容。
1运动会分数统计
【问题描述】
参加运动会的n个学校编号为1~n比赛分成m个男子项目和w个女子项目,项目编号分别为1~m和m+1~m+w。由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,还有些项目只取前三名,得分顺序为5,3,2。写一个统计程序产生各种成绩单和得分报表。
【基本要求】
产生各学校的成绩单,内容包括各校所取得的每项成绩的项目号、名次 ( 成绩 )、姓名和得分;产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分。
【测试数据】
对于n=4,m=3,w =2,编号为奇数的项目取前五名,编号为偶数的项目取前三名,设计一组实例数据。
【实现提示】
可以假设n20,m30,w20,姓名长度不超过 20 个字符。每个项目结束时,将其 编号、类型符(区分取前五名还是前三名) 输入,并按名次顺序输入运动员姓名、校名(和成 绩)。
选作内容】
允许用户指定某项目采取其他名次取法。
2. 约瑟夫环
问题描述】
约瑟夫 (Joseph) 问题的一种描述是:编号为 1,2,… ,n 的n个人按顺时针方向围坐一 圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。
【基本要求】
利用单向循环链表存储结构模拟此过程,按照出列的顺序印出各人的编号。
【测试数据】
m 的初值为 20;n=7,7 个人的密码依次为3,1,7,2,4,8,4, 首先 m 值为 6( 正确的出列顺序应为 6,1,4,7,2,3,5) 。
实现提示】
程序运行后,首先要求用户指定初始报数上限值,然后读取各人的密码。可设n≤30。 此题所用的循环链表中不需要 头结点”,请注意空表和非空表的界限。
选作内容】
向上述程序中添加在顺序结构上实现的部分。
3. 集合的并、交和差运算
问题描述】
编制一个能演示执行集合的并、交和差运算的程序。
【基本要求】
(1) 集合的元素限定为小写字母字符 [‘a’..’z’] 。
(2) 演示程序以用户和计算机的对话方式执行。
【测试数据】
(1)Set1=agazine,Set2=paper,
Set1∪Set2=aegimnprz,Setl ∩Set2=ae,Set1-Set2=gimnz。
(2)Set1= 012oper4a6tion89,Set2=error data,
Set1∪Set2=adeinoprt,Setl ∩Set2=aeort,Set1-Set2=inp。
【实现提示】
以有序链表表示集合。
【选作内容】
(1) 集合的元素判定和子集判定运算。
(2) 求集合的补集。
(3) 集合的混合运算表达式求
文档评论(0)