数据结构课程设计题目及要求(2013)
更新时间:2024-01-23 17:38:01 阅读量: 教育文库 文档下载
《数据结构》课程设计
目录
一、课程设计要求 ........................................................................................................................... 2
1. 分组设计 ........................................................................................................................... 2 2. 题目选择 ........................................................................................................................... 2 3. 考核标准 ........................................................................................................................... 2 4. 提交材料 ........................................................................................................................... 2 5. 考核等级 ........................................................................................................................... 2 6. 时间安排 ........................................................................................................................... 2 二、课程设计报告的书写内容(仅供参考) ............................................................................... 3 三、课程设计题目: ....................................................................................................................... 3
(一)课程设计1 .................................................................................................................... 3
1. joseph环 ................................................................................................................... 3 2. 文章编辑 ................................................................................................................... 3 3. 学生搭配问题 ........................................................................................................... 4 4. 一元稀疏多项式计算器 ........................................................................................... 4 5. 表达式求值 ............................................................................................................... 4 (二)课程设计2 .................................................................................................................... 5
1. 集合基本运算 ........................................................................................................... 5 2. 运动会分数统计 ....................................................................................................... 5 3. 内部排序算法比较 ................................................................................................... 6 4. 宿舍管理查询软件 ................................................................................................... 6 (三)课程设计3 .................................................................................................................... 7
1. 校园导游咨询 ........................................................................................................... 7 2. 哈夫曼编/译码器 ..................................................................................................... 7 3. 散列法的实验研究 ................................................................................................... 8 4. 建立通信网络 ........................................................................................................... 8
附件1:封面格式 ............................................................................................................................ 9 附件2:分组登记表 ...................................................................................................................... 10
1
一、课程设计要求
1. 分组设计
按小组方式进行组织设计,小组成员为4~5人,班级内自由组合,并确定小组组长,分组名单汇总到各班班长,最后交给老师。 2. 题目选择
每个小组至少选择3个题目,其中:在课程设计1中任选1道题,在课程设计2选1道题,在课程设计3中选1道题。 3. 考核标准 总的要求:组内每位同学,一起协商承担的任务,每人都要参与设计和编程工作,不能只负责撰写论文。 评分组成: 1)组长对组内成员学习态度和承担设计任务的评价;
2)课程设计完成的效果,必要时会采用现场演示和答辩的方式; 3)课程设计报告的撰写质量; 4. 提交材料 每位同学依据所在小组选择的课程设计题,独立撰写课程设计报告,分题目依次撰写。不允许相互间抄袭,否则均以零分计算。
备注:如果是合作完成一个题目的,除了选择的数据结构一样以为,算法部分每个人只写自己完成的那部分,绝对不允许交上来的论文一模一样!。
提交材料:纸质的课程设计报告,程序代码:(建议按如下形式打包)
备注:以组为单位打包提交。
5. 考核等级
评分标准:等级制(优秀、良好、中等、及格、不及格) 6. 时间安排 1) 布置设计任务:11月13号,发到公共邮箱pspublicmail@163.com,密码:ggyx2013 2) 提交分组名单:布置设计任务后一周内,班长汇总后将分组结果及分组任务表交给老师; 3)设计与撰写:上机时间为课内的上机时间和课外自己找时间完成。 4)提交截止日期:第16周周三
2
二、课程设计报告的书写内容(仅供参考)
1、题目的内容及要求 2、需求分析
3、概要设计(包括选择什么数据结构?数据结构采用哪种存储方式?选择的原因?设计哪些操作?这些操作之间的调用关系等等)
4、详细设计(包括数据结构的类型定义,每个操作的算法描述) 5、源代码
6、运行结果及分析 7、收获及体会
三、课程设计题目:
(一)课程设计1
1. joseph环
【问题描述】
编号是1,2,??,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。一开始任选一个正整数作为报数上限值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)。 【实现提示】
程序运行后,首先要求用户指定初始报数上限值,然后读取各人的密码。可设n≤30。此题所用的循环链表中不需要“头结点”,请注意空表和非空表的界限。
2. 文章编辑
【问题描述】
输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行。 【要求】
(1)分别统计出其中英文字母数和空格数及整篇文章总字数;
3
(2)统计某一字符串在文章中出现的次数,并输出该次数; (3)删除某一子串,并将后面的字符前移。 【存储结构】
使用线性表,分别用几个子函数实现相应的功能; 【输入数据的形式和范围】
可以输入大写、小写的英文字母、任何数字及标点符号。 【输出形式】
(1)分行输出用户输入的各行字符;
(2)分4行输出\全部字母数\、\数字个数\、\空格个数\、\文章总字数\(3)输出删除某一字符串后的文章。
3. 学生搭配问题
【问题描述】
一班有m个女生,有n个男生(m不等于n),现要开一个舞会。男女生分别编号坐在舞池的两边的椅子上,每曲开始时,依次从男生和女生中各出一人配对跳舞,本曲没成功配对者坐着等待下一曲找舞伴。请设计一系统模拟动态地显示出上述过程。 【基本要求】
(1)输出每曲配对情况 (2)计算出任何一个男生(编号为X)和任意女生(编号为Y),在第K曲配对跳舞的情况。至少求出K的两个值。 【提示】
用队列来解决比较方便.
4. 一元稀疏多项式计算器
【问题描述】 设计一个一元稀疏多项式简单计算器。 【基本要求】
一元多项式简单计算器的基本功能是: (1)输入并建立多项式; (2)输出多项式,输出形式为整数序列n,c1,e1,c2,e2,…,cn,en,其中n是多项式的项数,ci和ei分别是第i项的系数和指数,序列指指数降序排列;
(3)多项式a和b相加,建立多项式a+b; (4)多项式a和b相减,建立多项式a-b。 【实现提示】
用带头结点的单链表存储多项式,多项式的项数存在头结点。
5. 表达式求值
【问题描述】
表达式求值是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子。设
4
计一个程序,演示用算符优先法对算术表达式求值的过程。 【基本要求】
以字符序列的形式从终端上输入语法正确的、不含变量的整数表达式。利用教材中给出的算符优先关系,实现对算术四则混合运算表达式的求值,并仿照教材例3-1演示在求值中运算符栈、运算数栈、输入字符和主要操作的变化过程。 【实现提示】
(1)设置运算栈和运算数栈辅助分析算符优先关系。
(2)在输入表达式的字符序列的同时,完成运算符和运算数(整数)的识别处理,以及相应的运算。
(3)在识别出运算数的同时,要将其字符序列形式转换成整数形式。
(二)课程设计2
1. 集合基本运算
【问题描述】
编制一个能演示执行集合的并、交和差运算的程序。允许采用顺序存储或链式存储来实现。
【基本要求】
(1) 集合的元素限定为小写字符[‘a’. .’z’]。 (2) 演示程序以用户和计算机的对话方式执行。 【测试数据】
(1) Set1=”magazine”,Set2=”paper”.
Set1∪Set2=”aegimnprz”,Set1∩Set2=”ae”,Set1-Set2=”gimnz”. (2) Set1=”012oper4a6tion89”,Set2=”error data”,
Set1∪Set2=”adeinoprt”, Set1∩Set2=”aeort”, Set1-Set2=”inp”. 【实现提示】
以有序链表表示集合。
2. 运动会分数统计
【问题描述】参加运动会有n个学校,学校编号为1~n。比赛分成m个男子项目和w个女子项目。项目编号为男子1~m和女子m+1~m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20) 【功能要求】
(1)可以输入各个项目的前三名或前五名的成绩; (2)能统计各学校总分,
(3)可以按学校编号、学校总分、男女团体总分排序输出;
(4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 【规定】
5
输入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称) 【输出形式】
有中文提示,各学校分数为整形 【界面要求】
有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 【存储结构】
学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构; 【测试数据】
要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明。
3. 内部排序算法比较
【问题描述】
在教科书中,各种内部排序算法的时间复杂度分析结果只给出了算法执行时间的阶,或大概执行时间。试通过随机数据比较各算法的关键字比较次数和关键字移动次数,以取得直观感受。 【基本要求】
(1)对以下6种常用的内部排序算法进行比较:起泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、堆排序。
(2)待排序表的表长不小于100;其中的数据要用伪随机数产生程序产生;至少要用5组不同的输入数据作比较;比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换计为3次移动)。
(3)最后要对结果作出简单分析,包括对各组数据得出结果波动大小的解释。 【测试数据】
由随机数产生器生产。 【实现提示】
主要工作是设法在已知算法中的适当位置插入对关键字的比较次数和异动次数的计数操作。程序还可以考虑几组数据的典型性,如正序、逆序和不同程度的乱序。
4. 宿舍管理查询软件
【问题描述】
为宿舍管理人员编写一个宿舍管理查询软件。 【基本要求】
(1)采用交互工作方式;
(2)建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)。
(3)建立查询菜单: (用二分查找实现以下操作)
按姓名查询 按学号查询
6
按房号查询
打印任一查询结果(可以连续操作)
(三)课程设计3
1. 校园导游咨询
【问题描述】 设计一个校园导游程序,为来访的客人提供各种信息查询服务。 【基本要求】
(1)设计你的学校的校园平面图,所含景点不少于10个。以图中顶点表示学校各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。 (2)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
(3)为来访客人提供图中任意景点相关信息的查询。 【测试数据】 由读者根据实际情况指定。 【实现提示】 一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网。顶点和边均含有相关信息。
2. 哈夫曼编/译码器
【问题描述】
用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传 来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼码的编/译码系统。 【基本要求】
一个完整的系统应具有以下功能: (1)I:初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。 (2)E:编码(Encoding)。利用已建好的哈夫曼树(如不在内存,则从文件hfmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中。 (3)D:译码(Decoding)。利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中。 (4)P:印代码文件(Print)。将文件CodeFile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码文件写入文件CodePrin中。 (5)T:印哈夫曼树(Tree printing)。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示出,同时将此字符形式的哈夫曼树写入文件TreePrint中。 【测试数据】
(1) 利用教科书例6-2中的数据调试程序。
7
(2) 用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编
码和译码:“THIS PROGRAM IS MY FAVORITE”。 字符 频度 字符 频度 A 64 N 57 B 13 O 63 C 22 P 15 D 32 Q 1 E 103 R 48 F 21 S 51 G 15 T 80 H 47 U 23 I 57 V 8 J 1 W 18 K 5 X 1 L 32 Y 16 M 20 Z 1
【实现提示】
(1) 编码结果以文本方式存储在文件CodeFile中。 (2) 用户界面可以设计为“菜单”方式:显示上述功能符号,再加上“Q”表示退出运行Quit。请用户键入一个选择功能符。此功能执行完毕后再显示此菜单,直至某次用户选择了“Q”为止。
(3) 在程序的一次执行过程中,第一次执行I、D或C命令之后,哈夫曼树已经在内存了,不必再读入。每次执行中不一定执行I命令,因为文件hfmTree可能早已建好。
3. 散列法的实验研究
【问题描述】
(1)基本要求:设每个记录有下列数据项:电话号码、用户名、地址;从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;采用一定的方法解决冲突;查找并显示给定电话号码的记录;查找并显示给定用户名的记录。 (2)进一步完成内容: 系统功能的完善:
设计不同的散列函数,比较冲突率; 在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。
4. 建立通信网络
【问题描述】
在n个城市建设通信网络,只需架设n-1条线路即可。设计一个程序,求出如何以最低的经济代价建设这个通信网。(该问题为最小生成树问题) 【基本要求】
(1)利用图作为存储结构;
(2)键盘输入问题规模n和各条线路的权值; (3)输出生成树中各条边以及他们的权值。
8
附件1:封面格式
滨江学院
《数据结构》课程设计
题 目
学 号
学生姓名 院 系
专 业
指导教师
二O一二 年 月 日
9
附件2:分组登记表
组号 组长 组长联系电话 组员学号 1 2 3 4 5
组员姓名 分工 10
正在阅读:
数据结构课程设计题目及要求(2013)01-23
山东省东营市2015年中考模拟英语试题06-28
学校突发水污染事件应急预案05-19
中国特色社会主义文化道路09-14
物理化学傅献彩(上册)习题答案09-22
长虹各型遥控器型号对照表08-19
“一岗双责”制安全工作责任书 (4)05-13
现代中国名人实现梦想故事200字02-18
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 数据结构
- 题目
- 课程
- 要求
- 设计
- 2013
- 活动中心地面施工方案
- 潘剑云最新高级经济师职称申报成功全套资料(含word文档和扫描文稿) - 图文
- 隧道漏缆、光缆施工方案(内部版)20150614 - 图文
- 兽药GMP检查验收指南
- SAP APO- 快速指南 - 图文
- 近五年中国人民银行资产负债表分析
- 江苏省高级人民法院执行工作细则
- 《我善养吾浩然之气》教学设计及反思
- 2016-2021年中国核磁共振成像仪行业市场分析及投资可行性研究报告
- 幼儿园办公室制度牌
- 用友NC财务报表系统操作步骤
- 七年级数学上册 1.1 生活 数学 热爱数学素材 苏科版 精
- 嵌入式系统详细介绍解读 - 图文
- 2013年湖北省初中语文优质课(作文教学)竞赛教案(1) - 图文
- 2018秋福师《幼儿教育科学研究法》在线作业二7
- 基于热电偶的太阳能热水器的设计与制作
- 河北段南水北调道桥施工组织设计
- 中医院处方权授予试卷及答案
- 第三章一元一次方程教案
- 昌化石历代名人与昌化石 - 图文