收藏 分享(赏)

数据结构课程设计题目及要求(2012).docx

上传人:dzzj200808 文档编号:2634950 上传时间:2018-09-24 格式:DOCX 页数:10 大小:98.46KB
下载 相关 举报
数据结构课程设计题目及要求(2012).docx_第1页
第1页 / 共10页
数据结构课程设计题目及要求(2012).docx_第2页
第2页 / 共10页
数据结构课程设计题目及要求(2012).docx_第3页
第3页 / 共10页
数据结构课程设计题目及要求(2012).docx_第4页
第4页 / 共10页
数据结构课程设计题目及要求(2012).docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、1数据结构课程设计目录一、课程设计要求 21. 分组设计 22. 题目选择 23. 考核标准 24. 提交材料 25. 考核等级 26. 时间安排 2二、课程设计报告的书写内容(仅供参考) .3三、课程设计题目: 3(一)课程设计 1 .31. joseph 环 .32. 文章编辑 33. 学生搭配问题 44. 一元稀疏多项式计算器 .45. 表达式求值 4(二)课程设计 2 .51. 集合基本运算 52. 运动会分数统计 53. 内部排序算法比较 .64. 宿舍管理查询软件 .6(三)课程设计 3 .61. 校园导游咨询 62. 哈夫曼编/译码器 .73. 散列法的实验研究 .84. 建立通

2、信网络 8附件 1:封面格式 .9附件 2:分组登记表 .102一、课程设计要求1. 分组设计按小组方式进行组织设计,小组成员为 45 人,班级内自由组合,并确定小组组长,分组名单汇总到各班班长,最后交给老师。2. 题目选择每个小组至少选择 3 个题目,其中:在课程设计 1 中任选 1 道题,在课程设计 2 选 1道题,在课程设计 3 中选 1 道题。3. 考核标准总的要求:组内每位同学,一起协商承担的任务,每人都要参与设计和编程工作,不能只负责撰写论文。评分组成:1)组长对组内成员学习态度和承担设计任务的评价;2)课程设计完成的效果,必要时会采用现场演示和答辩的方式;3)课程设计报告的撰写质

3、量;4. 提交材料每位同学依据所在小组选择的课程设计题,独立撰写课程设计报告,分题目依次撰写。不允许相互间抄袭,否则均以零分计算。备注:如果是合作完成一个题目的,除了选择的数据结构一样以外,算法部分每个人只写自己完成的那部分,绝对不允许交上来的论文一模一样!。提交材料:纸质的课程设计报告和程序代码:(建议按如下形式打包)备注:电子文档以组为单位打包提交。 (统一拷给班长)纸质报告按组的顺序排放,每一组附一张“分组登记表” (见附录 2)5. 考核等级评分标准:等级制(优秀、良好、中等、及格、不及格)6. 时间安排1) 布置设计任务:11 月 22 号, 发到公共邮箱 ,密码:ggyx20112

4、) 提交分组名单:布置设计任务后一周内,班长汇总后将分组结果及分组任务表交给老师;3)设计与撰写:上机时间为课内的上机时间和课外自己找时间完成。4)提交截止日期:第 16 周周五下班前。3二、课程设计报告的书写内容(仅供参考)1、题目的内容及要求2、需求分析3、概要设计(包括选择什么数据结构?数据结构采用哪种存储方式?选择的原因?设计哪些操作?这些操作之间的调用关系等等)4、详细设计(包括数据结构的类型定义,每个操作的算法描述)5、源代码6、运行结果及分析7、收获及体会三、课程设计题目:(一)课程设计 11. joseph 环 【问题描述】编号是 1,2 ,,n 的 n 个人按照顺时针方向围坐

5、一圈,每个人只有一个密码(正整数) 。一开始任选一个正整数作为报数上限值 m,从第一个仍开始顺时针方向自 1 开始顺序报数,报到 m 时停止报数。报 m 的人出列,将他的密码作为新的 m 值,从他在顺时针方向的下一个人开始重新从 1 报数,如此下去,直到所有人全部出列为止。设计一个程序来求出出列顺序。【要求】利用单向循环链表存储结构模拟此过程,按照出列的顺序输出各个人的编号。【测试数据】m 的初值为 20,n=7 ,7 个人的密码依次为 3,1 ,7,2 ,4,7 ,4,首先 m=6,(正确的出列顺序应为 6,1,4,7,2,3,5) 。【实现提示】程序运行后,首先要求用户指定初始报数上限值,

6、然后读取各人的密码。可设n30 。此题所用的循环链表中不需要“头结点” ,请注意空表和非空表的界限。2. 文章编辑【问题描述】输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过 80 个字符,共 N 行。【要求】(1 )分别统计出其中英文字母数和空格数及整篇文章总字数;4(2 )统计某一字符串在文章中出现的次数,并输出该次数;(3 )删除某一子串,并将后面的字符前移。【存储结构】使用线性表,分别用几个子函数实现相应的功能;【输入数据的形式和范围】可以输入大写、小写的英文字母、任何数字及标点符号。【输出形式】(1 )分行输出用户输入的各行字符;(2 )分 4 行

7、输出“全部字母数“、“数字个数“、“空格个数“、“ 文章总字数“(3 )输出删除某一字符串后的文章。3. 学生搭配问题【问题描述】一班有 m 个女生,有 n 个男生(m 不等于 n),现要开一个舞会。男女生分别编号坐在舞池的两边的椅子上,每曲开始时,依次从男生和女生中各出一人配对跳舞,本曲没成功配对者坐着等待下一曲找舞伴。请设计一系统模拟动态地显示出上述过程。【基本要求】(1 )输出每曲配对情况(2 )计算出任何一个男生(编号为 X)和任意女生(编号为 Y),在第 K 曲配对跳舞的情况。至少求出 K 的两个值。【提示】用队列来解决比较方便.4. 一元稀疏多项式计算器【问题描述】设计一个一元稀疏

8、多项式简单计算器。【基本要求】一元多项式简单计算器的基本功能是:(1 )输入并建立多项式;(2 )输出多项式,输出形式为整数序列 n,c1,e1,c2,e2,cn,en,其中 n 是多项式的项数,ci 和 ei 分别是第 i 项的系数和指数,序列指指数降序排列;(3 )多项式 a 和 b 相加,建立多项式 a+b;(4 )多项式 a 和 b 相减,建立多项式 a-b。【实现提示】用带头结点的单链表存储多项式,多项式的项数存在头结点。5. 表达式求值【问题描述】表达式求值是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子。设5计一个程序,演示用算符优先法对算术表达式求值的过程。【基本要

9、求】以字符序列的形式从终端上输入语法正确的、不含变量的整数表达式。利用教材中给出的算符优先关系,实现对算术四则混合运算表达式的求值,并仿照教材例 3-1 演示在求值中运算符栈、运算数栈、输入字符和主要操作的变化过程。【实现提示】(1 )设置运算栈和运算数栈辅助分析算符优先关系。(2 )在输入表达式的字符序列的同时,完成运算符和运算数(整数)的识别处理,以及相应的运算。(3 )在识别出运算数的同时,要将其字符序列形式转换成整数形式。(二)课程设计 21. 集合基本运算【问题描述】编制一个能演示执行集合的并、交和差运算的程序。允许采用顺序存储或链式存储来实现。【基本要求】(1) 集合的元素限定为小

10、写字符a. .z。(2) 演示程序以用户和计算机的对话方式执行。【测试数据】(1) Set1=”magazine”,Set2=”paper”.Set1Set2=”aegimnprz” ,Set1Set2=” ae”,Set1-Set2=”gimnz”.(2) Set1=”012oper4a6tion89”,Set2=”error data”,Set1Set2=”adeinoprt”, Set1Set2=” aeort”, Set1-Set2=”inp”.【实现提示】以有序链表表示集合。2. 运动会分数统计【问题描述】参加运动会有 n 个学校,学校编号为 1n。比赛分成 m 个男子项目和 w 个

11、女子项目。项目编号为男子 1m 和女子 m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2 、1,前三名的积分分别为:5 、3、2;哪些取前五名或前三名由学生自己设定。 (m=20,n=20)【功能要求】(1 )可以输入各个项目的前三名或前五名的成绩;(2 )能统计各学校总分,(3 )可以按学校编号、学校总分、男女团体总分排序输出;(4 )可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。【规定】6输入数据形式和范围:20 以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)【输出形式】有中文提示,各学校分数为整形【界面要求

12、】有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。【存储结构】学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。 (数据文件的数据读写方法等相关内容在 c 语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;【测试数据】要求使用 1、全部合法数据; 2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明。3. 内部排序算法比较【问题描述】在教科书中,各种内部排序算法的时间复杂度分析结果只给出了算法执行时间的阶,或大概执行时间。试通过随机数据比较各算法的关键字比较次数和关键

13、字移动次数,以取得直观感受。【基本要求】(1)对以下 6 种常用的内部排序算法进行比较:起泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、堆排序。(2)待排序表的表长不小于 100;其中的数据要用伪随机数产生程序产生;至少要用 5 组不同的输入数据作比较;比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换计为 3 次移动) 。(3)最后要对结果作出简单分析,包括对各组数据得出结果波动大小的解释。【测试数据】由随机数产生器生产。【实现提示】主要工作是设法在已知算法中的适当位置插入对关键字的比较次数和异动次数的计数操作。程序还可以考虑几组数据的典型性,如正序、逆序和不同程度的

14、乱序。4. 宿舍管理查询软件【问题描述】为宿舍管理人员编写一个宿舍管理查询软件。【基本要求】(1)采用交互工作方式;(2)建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)。(3)建立查询菜单: (用二分查找实现以下操作)按姓名查询 按学号查询 7按房号查询打印任一查询结果(可以连续操作)(三)课程设计 31. 校园导游咨询【问题描述】设计一个校园导游程序,为来访的客人提供各种信息查询服务。【基本要求】 (1)设计你的学校的校园平面图,所含景点不少于 10 个。以图中顶点表示学校各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关

15、信息。(2)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。 (3)为来访客人提供图中任意景点相关信息的查询。【测试数据】由读者根据实际情况指定。【实现提示】一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网。顶点和边均含有相关信息。2. 哈夫曼编/译码器【问题描述】用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传 来的数据进行译码(复原) 。对于双工信道(即可以双向传输信息的信道) ,每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼码

16、的编/译码系统。【基本要求】一个完整的系统应具有以下功能:(1 ) I:初始化(Initialization) 。从终端读入字符集大小 n,以及 n 个字符和 n 个权值,建立哈夫曼树,并将它存于文件 hfmTree 中。(2 ) E:编码(Encoding) 。利用已建好的哈夫曼树(如不在内存,则从文件 hfmTree 中读入) ,对文件 ToBeTran 中的正文进行编码,然后将结果存入文件 CodeFile 中。(3 ) D:译码(Decoding ) 。利用已建好的哈夫曼树将文件 CodeFile 中的代码进行译码,结果存入文件 TextFile 中。(4 ) P:印代码文件(Prin

17、t) 。将文件 CodeFile 以紧凑格式显示在终端上,每行 50 个代码。同时将此字符形式的编码文件写入文件 CodePrin 中。(5 ) T:印哈夫曼树( Tree printing) 。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示出,同时将此字符形式的哈夫曼树写入文件 TreePrint 中。【测试数据】(1 ) 利用教科书例 6-2 中的数据调试程序。8(2 ) 用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“THIS PROGRAM IS MY FAVORITE”。字符 A B C D E F G H I J K L M频度 64 1

18、3 22 32 103 21 15 47 57 1 5 32 20字符 N O P Q R S T U V W X Y Z频度 57 63 15 1 48 51 80 23 8 18 1 16 1【实现提示】(1 ) 编码结果以文本方式存储在文件 CodeFile 中。(2 ) 用户界面可以设计为“菜单”方式:显示上述功能符号,再加上“Q” 表示退出运行Quit。请用户键入一个选择功能符。此功能执行完毕后再显示此菜单,直至某次用户选择了“Q”为止。(3 ) 在程序的一次执行过程中,第一次执行 I、D 或 C 命令之后,哈夫曼树已经在内存了,不必再读入。每次执行中不一定执行 I 命令,因为文件

19、hfmTree 可能早已建好。3. 散列法的实验研究【问题描述】(1 )基本要求:设每个记录有下列数据项:电话号码、用户名、地址;从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;采用一定的方法解决冲突;查找并显示给定电话号码的记录;查找并显示给定用户名的记录。(2 )进一步完成内容:系统功能的完善:设计不同的散列函数,比较冲突率;在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。4. 建立通信网络【问题描述】在 n 个城市建设通信网络,只需架设 n-1 条线路即可。设计一个程序,求出如何以最低的经济代价建设这个通信网。 (该问题为最小生成树问题)【基本要求】(1 )利用图作为存储结构;(2 )键盘输入问题规模 n 和各条线路的权值;(3 )输出生成树中各条边以及他们的权值。9附件 1:封面格式滨江学院数据结构课程设计题 目 学 号姓 名 专 业指导教师 组 号 二一二 年 月 日10附件 2:分组登记表组号 组长 组长联系电话 组员学号 组员姓名 分工12345

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报