2015版数据结构课程设计

上传人:第*** 文档编号:34063436 上传时间:2018-02-20 格式:DOC 页数:5 大小:57KB
返回 下载 相关 举报
2015版数据结构课程设计_第1页
第1页 / 共5页
2015版数据结构课程设计_第2页
第2页 / 共5页
2015版数据结构课程设计_第3页
第3页 / 共5页
2015版数据结构课程设计_第4页
第4页 / 共5页
2015版数据结构课程设计_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《2015版数据结构课程设计》由会员分享,可在线阅读,更多相关《2015版数据结构课程设计(5页珍藏版)》请在金锄头文库上搜索。

1、数据结构课程设计题目(2015 年版):(1-6 题 必做, 做完 9 题以上可参评优秀)1、日程计划管理系统(必做)(线性表)问题描述 设计一个程序,记录并管理日程计划。基本要求(1)日程计划信息包括日程计划 ID 号,日程计划开始日期和时间,日程计划结束日期和时间,日程计划名,日程计划参与人员,日程计划地点,日程计划提醒日期和时间。(2)采用双向循环链表表示日程计划信息。采用三个双向循环链表:第一个双向循环链表表示未开始的日程计划信息,按照日程计划开始日期和时间先后排序;第二个双向循环链表表示正在进行的日程计划信息(可以多项计划同时进行),按照日程计划开始日期和时间先后排序;第三个双向循环

2、链表表示已过期的日程计划信息,按照日程计划开始的日期和时间倒序排序。(3)日程计划信息采用文件方式输入。日程计划信息信息示例如下,每条信息一行:日程计划 ID 号 开始日期 开始时间 结束日期 结束时间 计划名 20141011001;2014-10-11;8:00:00; 2014-10-11;10:00:00;数据结构上课;张三; 6202;2014-10-11;7:40:00(4)要求模拟数据中日程计划信息至少 30 条以上。(5) 实现以下功能:a.输入新的计划;b.根据当前时间查询 未开始的 计划,包括当天未开始的计划、本周或本月未开始的计划;c.查询并输出已 结束的计 划;d.查询

3、正在进 行的计划;e.根据当前时间 ,输出正提醒即将开始的计划。(6)可在此要求基础上进行功能扩展,比如周期性重复计划的设置和提醒等。2、算术表达式求值 (必做) (栈)问题描述 一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。假设操作数是正实数,运算符只含加减乘除等四种运算符,界限符有左右括号和表达式起始、结束符“#” ,如:#(7+15)*(23-28/4)#。引入表达式起始、结束符是为了方便。编程利用“算符优先法”求算术表达式的值。基本要求(1) 从键盘或文件读入一个合法的算术表达式,输出正确的结果。(2) 显示输入序列和栈的变

4、化过程。(3) 考虑算法的健壮性,当表达式错误时,要 给出错误原因的提示。(4) 实现非整数的 处理(可选功能)。3、Huffman 编码与解码 (必做)(Huffman 编码、二叉树)问题描述 对一篇英文文章(大于 2000 个英文字符),统计各字符出现的次数,实现 Huffman编码,以及 对编码结果的解 码。基本要求(1) 输出每个字符出现的次数和编码,其中求最小权值要求用堆实现。(2) 在 Huffman 编码后,要将编码表和英文文章编码结果保存到文件中,编码结果必须是二进制形式,即 0 1 的信息用比特位表示,不能用字符0和1表示。(3) 提供读编码文件生成原文件的功能。4、关键路径

5、问题 (必做) (图)问题描述 设计并实现关键路径的一种应用。基本要求(1)实现拓扑排序和关键路径的发现。(2)可根据自己兴趣,给出一个具体的应用情境,使得该题目成为一个实用软件。(3)结点数目至少在 30 个以上。建图数据从文件输入,便于检查。5、Hash 表应用(必做)(查找)问题描述 设计散列表实现身份证查找系统,对身份证号进行 Hash。 基本要求(1) 设每个记录有下列数据项:身份证号码(虚构,位数和编码规则与真实一致即可)、姓名、地址。 (2) 从文件输入各记录,以身份证号码为关键字建立散列表。 (3) 分别采用开放定址(自行选择和设计定址方案)和链地址两种方案解决冲突;显示发生冲

6、突的次数、每次中解决冲突进行重定位的次数。(4) 查找并显示给定身份信息的记录。(5) 记录条数至少在 50 条以上。6、排序算法比较 (必做)(排序)问题描述 利用随机函数产生 N 个随机整数(N = 500,1000,1500,2000,2500,,30000),利用直接插入排序、折半插入排序,起泡排序、快速排序、选择排序、堆排序,基数排序七种排序方法(可添加其它排序方法)进行排序(结果为由小到大的 顺序),并统计每一种排序所耗费的时间(即比较次数和交换次数)。基本要求(1) 原始数据存在文件中,每个整数一行,方便读入。(2) 屏幕显示每种排序所花的比较次数和交换次数。(3) 给出已有序的

7、整数(正序和倒序)上述方法的变化情况,显示在特例情况下的比较次数和交换次数。7、迷宫问题 (选做)(栈与递归)问题描述 利用栈操作实现迷宫问题求解。基本要求(1)随机生成模拟迷宫地图,不少于 10 行 10 列,存在文件中。(2)动态显示每一步的结果 。(3)可在此基础上有改进方法。8、家谱管理系统(选做) (树)问题描述 实现具有下列功能的家谱管理系统。基本要求(1)输入文件以存放最初家谱中各成员的信息,成员的信息中均应包含以下内容:姓名、出生日期、婚否、地址、健在否、死亡日期(若其已死亡),也可附加其它信息、但不是必需的。(2)实现数据的存盘和读盘。(3)以图形方式显示家谱。(4)显示第

8、n 代所有人的信息。(5)按照姓名查询,输出成员信息(包括其本人、父 亲、孩子的信息)。(6)按照出生日期查询成员名单。(7)输入两人姓名,确定其关系。(8)某成员添加孩子。(9)删除某成员(若其还有后代,则一并删除)。(10)修改某成员信息。(11)按出生日期对家谱中所有人排序。(12)打开一家谱时,提示当天生日的健在成员。(13)要求建立至少 30 个成员的数据,以较为直观的方式显示结果,并提供文稿形式以便检查。(14)界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。(15)存储结构:根据系统功能要求自行设计,但是要求相关数据要存储在数据文件中。测试数据:要

9、求使用 1、全部合法数据;2、局部非法数据。 进行程序测试,以保证程序的稳定。9、旅游线路推荐问题 (选做) (图)问题描述 实现自驾游线路自动推荐算法。选定目的地后,根据起始点和目的点之间的线路,除了最短路径外,在图上增加节点的权重值(根据节点的美景、美食、等属性加 权生成),生成融合最短路径和最强旅游热度的线路,并考虑成简单回路,尽量不走回头路。基本要求(1)以华东地区江苏、上海、浙江、安徽的热点景区为例。景点选择至少 20 个以上,景点间的路径长度可用百度地图测量。(2)具体度量算法可自行设计。(3)可以做成主题线路推荐,例如古民居游、海边游、山村游等。 (可选)10、 平衡二叉树操作的

10、演示(选做) (查找)问题描述 利用平衡二叉树实现一个动态查找表。基本要求(1) 实现动态查找表的三种基本功能:查找、插入和删除。(2) 题目详情见习题册 P168 6.4。成绩评定细则:1. 正确性:程序是否可以运行,结果是否正确(20 分)2. 功能的完备性:是否实现要求的所有子功能(40 分)3. 课程设计报告中的算法说明的清晰程度,课程设计报告中总结的深刻程度(20 分)4. 独立完成情况( 40 分)总计:100 分加分项目:1.健壮性:异常处理的情况2.可读性:代码编写是否规范,是否便于阅读。如函数、 变量命名, 的缩进,关键位置适量注释等3.功能的完善:除要求实现的功能外,完成了

11、其它的功能,实现了功能的完善4.界面的设计:可视化界面,或者交互良好的 DOS 界面编程语言:C、C+ 或 JAVA 任选其一检查方式:1. 总体上检查程序的代码量,正确性,可读性,健壮性,功能的完备性,代码量,程序的结构是否合理;局部检查三个以上函数块2. 检查程序时同时检查课程设计报告的电子文档3. 检查时间:每个学生的检查时间 10 分钟时间安排:1 上机地点、时间安排:1 号楼 10 层 B、C 区18 周周一(12.28) 上午 8:00 12:00 下午 14:0018:00周二五 (12.29、12.30、12.31、1.1) 下午 14:0018:00周日(1.3) 上午 8:00 12:00 下午 14:0018:002 课程设计报告上交时间: 1.3 上机时3 课程设计检查时间:1.3 上机时课程设计报告要求:1.所有的课程设计报告,均要有封面,包括:课题名称、班级、学号、学生姓名、成 绩和指导教师;2.给出自己采用的数据结构;3.给出算法设计思想;4.给出实现的源程序,并在必要的代码处给出注释;5.给出测试数据和结果;6.给出算法的时间复杂度、另外可以提出算法的改进方法;7.给出结束语:说明完成课程设计的情况,心得体会;课程设计报告的电子文档在上机检查程序时一并检查;书面文档在指定的时间内上交。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号