《数据结构》课程设计教学任务书

上传人:kms****20 文档编号:40533804 上传时间:2018-05-26 格式:DOC 页数:12 大小:42.50KB
返回 下载 相关 举报
《数据结构》课程设计教学任务书_第1页
第1页 / 共12页
《数据结构》课程设计教学任务书_第2页
第2页 / 共12页
《数据结构》课程设计教学任务书_第3页
第3页 / 共12页
《数据结构》课程设计教学任务书_第4页
第4页 / 共12页
《数据结构》课程设计教学任务书_第5页
第5页 / 共12页
点击查看更多>>
资源描述

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

1、数据结构数据结构课程设计教学任务书课程设计教学任务书读书有三到,谓心到,眼到,口到。心不在此,则眼看不仔细,心眼既不专一,却只漫诵浪读,决不能记,久也不能久也。三到之中,心到最急,心既到矣,眼口岂不到乎?朱熹训学斋规读过一本好书,像交了一个益友。藏克家 数据结构课程设计教学任务书计算机 2007-1课程设计周数:第 20 周指导老师:刘文娟一、课程设计的目的数据结构课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要

2、基础,广泛的应用于信息学、系统工程等各种领域。学习数据结构是为了将实际问题中所涉及的对象在计算机中表示出来并对它们进行处理。通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。通过此次课程设计主要达到以下目的:* 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;* 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;* 提高综合运用所学的理论知识和方法独立分析和解决问题的能力;* 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。二、课程设计的基本要求1、独立思考,独立完成:课程设计中各

3、任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。2、做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。3、按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;其中包括:a)需求分析:在该部分中叙述,每个模块的功能要求b)概要设计在此说明每个部分的算法设计说明(可以是描述算法的流程图) ,每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义) 。c)详细设计各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)源程序要按照写程序的规则

4、来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。d)调试分析测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?) ,算法的改进设想。e)课程设计总结:(保存在 word 文档中)总结可以包括:课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对数据结构课程的认识等内容;4、每组实现的结果必须进行检查和演示;程序源代码和程序的说明文件必须上交,作为考核内容的一部分;(上交时每人交一份,文件夹的取名规则为:“学号 姓名“,如“200413498 高

5、魁“。该文件夹下至少包括:“源代码“、“课程设计报告“、“可执行文件“。由学习委员收集刻盘按规定时间统一上交) 。5、报告提交时间:第 20 周星期五检查,第 20 周星期五下午 5 点之前由学习委员收集上交,迟交无成绩。形式:课程设计报告(要求打印)和电子文档(统一刻盘) 。三、课程设计内容:1、排序算法演示系统【问题描述】设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。【基本要求】(1)实现各种内部排序。包括冒泡排序,直接选择排序,希尔排序,快速排序,堆排序。(2) 待排序的元素的关键字为整数。其中的数据要用随机数产生(如 10000 个),至少用 5 组不同

6、的数据做比较,再使用各种算法对其进行排序,记录其排序时间,再汇总比较。(3) 演示程序以人机对话的形式进行。每次测试完毕显示各种比较指标值的列表,用饼图或条形图进行表示,以便比较各种排序的优劣。(4) 界面友好,易与操作。采用菜单方式进行选择。【选做内容】(1) 对不同表长进行比较;(2) 验证各算法的稳定性;(3) 输出界面的优化。(4) 使用汉字显示。2、校园导游咨询系统【问题描述】设计一个校园导游程序,为来访的客人提供各种信息查询服务。【基本要求】(1) 设计安徽理工大学的校园平面图,所含景点不少于 10 个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路

7、径长度等相关信息。(2) 为来访客人提供图中任意景点相关信息的查询。(3) 为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。【选做内容】(1) 系统功能的完善;(2) 提供求任意两个景点之间的所有路径的功能;(3) 提供校园图中多个景点的最佳访问路线查询,即求途经这多个景点的最佳(短)路径。(4) 使用汉字显示。3、通讯录【问题描述】设计散列表实现通讯录查找系统。【基本要求】(1) 设每个记录有下列数据项:电话号码、用户名、地址;(2) 从键盘输入各记录,分别以电话号码为关键字建立散列表;(3) 采用线性探测再散列法解决冲突;(4) 查找并显示给定电话号码的记

8、录;(5) 通讯录信息文件保存;(6) 要求人机界面友好,使用图形化界面;【选做内容】(1) 系统功能的完善;(2) 设计不同的散列函数,比较冲突率;(3) 在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。(4) 使用汉字显示。【实现提示】如果不用界面编程,可用以下函数实现:主函数:根据选单的选项调用各函数,并完成相应的功能。Menu()的功能:显示英文提示选单。Quit()的功能:退出选单。Create()的功能:创建新的通讯录。Append()的功能:在通讯录的末尾写入新的信息,并返回选单。Find():查询某人的信息,如果找到了,则显示该人的信息,如果没有

9、则提示通讯录中没有此人的信息,并返回选单。Alter()的功能:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。Delete()的功能:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。List()的功能:显示通讯录中的所有记录。Save()的功能:保存通讯录中的所有记录到指定文件中。Load()的功能:从指定文件中读取通讯录中的记录。4、哈夫曼编码/译码器【问题描述】设计一个哈夫曼编码/译码系统,对一个文本文件中的字符进行哈夫曼编码,生成编码文件(压缩文件,后缀名.cod) ;反过来,可将一个压缩文件译码还原为一个文本文件(.tx

10、t)。【基本要求】(1) 输入一个待压缩的文本文件名, 统计文本文件中各字符的个数作为权值,生成哈夫曼树;(2) 将文本文件利用哈夫曼树进行编码,生成压缩文件(后缀名cod) ,(3) 输入一个待解压的压缩文件名称,并利用相应的哈夫曼树将编码序列译码;(4) 显示指定的压缩文件和文本文件;(5) 界面友好,易与操作。采用菜单方式进行选择。【选做内容】(1) 把哈夫曼编码用二进制位紧缩到一个变量中,利用位运算进行真正的数据压缩,并求压缩比。(2) 显示哈夫曼树;读书有三到,谓心到,眼到,口到。心不在此,则眼看不仔细,心眼既不专一,却只漫诵浪读,决不能记,久也不能久也。三到之中,心到最急,心既到矣

11、,眼口岂不到乎?朱熹训学斋规(3) 使用汉字显示。读过一本好书,像交了一个益友。藏克家 5、二叉树遍历算法集成功能要求:(1) 界面友好,易于操作。可采用菜单或其它人机对话方式进行选择。(2) 实现各种二叉树的遍历。包括先序遍历、中序遍历、后序遍历的递归或非递归算法。(3) 要求能查找任一结点在某种遍历序列中的前驱和后继。(4) 演示程序以人机对话的形式进行。每次测试完毕正确显示各种遍历序列。在上交资料中请写明:存储结构、基本算法(可以使用程序流程图) 、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;6、航班信息的查询与检索功能要求:(1)界面友好,易于操作。可采用菜单

12、或其它人机对话方式进行选择。(2)实现对飞机航班信息进行排序与查找。可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。每个航班记录包括八项:航班号、起点站、到达站、班期、起飞时间、到达时间、飞机型号以及票价。除了票价为数值型外,其它的均定义为字符串。航班号起点站终点站班期起飞时间到达时间飞机型号票价CA1544合肥北京1.3.510551240733960MU5341上海广州每日14201615M901280CZ3869重庆深圳2.4.60855103573310107、学生成绩管理系统(图书管理系统、个人账簿管理系统)功能要求:(1)界面友好,易于操作。可采用菜单或其它人

13、机对话方式进行选择。(2)实现对学生成绩信息进行排序与查找。可按学生学号、姓名等信息进行查询。每个学生信息包含:学号,姓名,班级,语文,数学,英语,物理,化学等项。学生信息的存储结构可以选择顺序结构,也可以选择链式结构。8、表达式求值功能要求:当用户输入一个合法的表达式后,能够返回正确的结果。能够计算的运算符包括:加、减、乘、除、括号;能够计算的数要求在实数范围内。能执行多重括号嵌套运算。对于异常表达式给出错误提示。 (要求使用静态栈数据结构。 )9、飞机订票系统功能要求:(1)录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)(2)查询:可以查询某个航线的情况(如

14、,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓) ;可以输入起飞抵达城市,查询飞机航班情况;(3)订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;(4)退票: 可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。(5)修改航班信息:当航班信息改变可以修改航班数据文件10、多项式运算功能要求:(1)输入并建立多项式;(2)输出多项式,输出形式为整数序列n,c1,e1,c2,e2,.,cn,en,其中 n 是多项式的 项数,ci 和 ei分别是第 i 项的系数和指数,序

15、列按指数降序排列;(3)多项式 a 和 b 相加,建立多项式 a+b;输出相加的多项式(4)多项式 a 和 b 相减,建立多项式 a-b。输出相加的多项式(5)用带表头结点的单链表存储多项式。11、猴子选大王问题描述:n 只猴子要选大王,选举方法是:所有猴子按 1,2,.,n 编号围坐一圈,从第 1 号开始按 1,2,.,m 报数,凡报到 m 号的退出圈外,如此循环报数,直到圈内剩下一只猴子时,这只猴子就是大王。基本要求:分别选择顺序表和单向循环链表作为存储结构模拟整个过程,并依次输出出列的各猴子的编号和最终所选出猴王的编号。12、停车场管理问题描述:设停车场是一个可以停放 n 辆汽车的狭长通

16、道,且只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里向大门口处停放(最先到达的第一辆车放在停车场的最里面) 。如果停车场已放满 n 辆车,则后来的车只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆次序。编制一程序模拟该停车场的管理。提示:停车场采用栈式结构,停车场外的便道采用队列结构(即便道就是等候队列) 。13、文本编辑器功能要求:运用链表与数组来处理字符串的各项操作。如插入,删除,查找,替换,显示等等。提示:对于自定义的文本文件“*.txt“,其每一行表示一个结点用单链表来实现,可以进行一行的修改,删除,添加等;每一行中的字符可用一维数组来存储,这样

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

当前位置:首页 > 生活休闲 > 科普知识

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