数据结构课程设计任
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构课程设计任务书
使用班级:1121801-4/1121809-12/1121817-20
使用时间:2012-2013学年第1学期
一、课程设计目的
本课程设计的目的考察学生对常见数据结构及相关算法的综合应用能力,达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,解决实际问题中数据的合理存储表示,并根据相应的存储结构设计效率较高的算法实现对问题的求解;通过此次课程设计进一步培养学生良好的程序设计技巧和分析问题解决问题的能力。
二、课程设计题目
课程设计题一:同学录
设计目的:
1.掌握线性表的数据存储。
2.掌握线性表的基本操作。
3.掌握查找的基本算法。
具体功能:
1.对同学基本信息进行录入,应能分类录入不同阶段的同学信息,同学信息包括同学姓名、身份证号、联系电话、qq号码、爱好、联系地址、邮箱等信息;
2.对同学信息进行查询,可按同学姓名、地址、年龄段等多种方式进行查询;
3.对同学信息进行排序,可按同学姓名、年龄、地址、qq号等多种方式查询;;
4.对同学信息进行修改;
5.对同学信息进行删除;
6.可以对同学的信息进行不同方式的展示。
设计要求:
1.要求用文件实现对信息的保存;
2.选用链表和顺序表均可;
3.要求用面向对象程序设计思想实现。
课程设计题二:算术题测试程序
设计目的:
1.掌握栈的存储结构。
2.掌握栈基本操作的实现。
3.能引用栈解决相关的实际问题。
具体功能:
1.能随机出题,题数由用户输入确定,算术题包括加减乘除四则运算,表达式项数应不限,可以包含括号;
2.需要进行表达式的合法性验证;
3.用户交互输入答案;
4.计算机核对用户答案;
5.能对用户的测试评分;
6.实现多用户系统,并对用户的用户名和得分保存到文件,此功能选作。
设计要求:
1. 要求用面向对象程序设计思想实现;
2. 系统具有一定的容错性;
3. 要求具有较好的交互性。
课程设计题三:哈夫曼树及其应用
设计目的:
熟悉树的各种存储结构及其特点。
掌握建立哈夫曼树和哈夫曼编码的方法及带权路径长度的计算。
设计内容:
欲发一封内容为AABBCAB ……(共长100 字符,其中:A 、B 、C 、D 、E 、F分别有7 、9 、12 、22 、23、27个)的电报报文,实现哈夫曼编码和译码。
设计要求:
分析系统需求。
建立哈夫曼树。
进行哈夫曼编码,并求出平均编码长度。
译码。对编码好的内容进行译码。
课程设计题四:交通咨询系统设计
设计目的:
熟练掌握迪杰斯特拉算法和费洛伊德算法,能够利用它们解决最短路径问题。
能够解决工程项目实施过程中的关键路径问题。
设计内容:
设计一个交通咨询系统,能让旅客咨询从任一个城市定点到另一个城市定点之间的最短路径或最低花费或最少时间等问题。对于不同的咨询要求、输出城市间的路程或所需时间或所需花费。
设计要求:
建立交通网络网的存储结构。
总体设计要画流程图。
提供程序测试方案。
界面友好。
课程设计题五:排序算法比较
一、设计目的
1.掌握各种排序的基本思想。
2.掌握各种排序方法的算法实现。
3.掌握各种排序方法的优劣分析及花费的时间的计算。
4.掌握各种排序方法所适应的不同场合。
二、设计内容和要求
利用随机函数产生30000个随机整数,利用插入排序、起泡排序、选择排序、快速排序、堆排序、归并排序等排序方法进行排序,并统计每一种排序上机所花费的时间。
课程设计题六、迷宫问题非递归求解
任务:可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出;
要求:
在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;
课程设计题七散列表的设计与实现
【问题描述】
设计散列表实现电话号码查找系统。
【基本要求】
1) 设每个记录有下列数据项:电话号码、用户名、地址;
2) 从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;
3) 采用一定的方法解决冲突;
4) 查找并显示给定电话号码的记录;
5) 查找并显示给定用户名的记录。
【进一步完成内容】
1) 系统功能的完善;
2) 设计不同的散列函数,比较冲突率;
3) 在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。
课程设计题八银行业务活动的模拟
任务:假设某银行有4个窗口对外接待客户,从早晨银行开门起不断有客户进入银行,由于每个窗口在某个时刻只能接待一个客户。因此在客户人数众多时需要在每个窗口前顺次排队,对于刚进入银行的客户。如果某个窗口的业务员正空闲,则可上前输业务。反之,若个窗口均有客户所占,他便会排在为数最少的队伍后面。编制一个程序模拟银行的这种业务活动并计算一天中客户在银行的平均逗留时间。
功能要求:
1).实现数据的输入;
2).各个窗口数据的访问和输出;
3)当前窗口的人员分布情况动态显示。
界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。存储结构:学生自己根据系统功能要求自己设计。请在最后的上交资料中指明你用到的存储结构;
测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。
课程设计题九基于医院分诊系统的排队策略
1)问题的提出:
近年来,随着医疗事业的发展,医院的规模不断扩大,科室门类划分的也越来越细,随之而来的是病人排队挂号和看病变的繁琐,等待时间变长,为此,需要制定一种良好的排队策略,减少病人的等待时间,提高医院的服务质量。