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

上传人:壹****1 文档编号:557915977 上传时间:2022-08-28 格式:DOC 页数:12 大小:36KB
返回 下载 相关 举报
《数据结构》课程设计教学任务书38317.doc_第1页
第1页 / 共12页
《数据结构》课程设计教学任务书38317.doc_第2页
第2页 / 共12页
《数据结构》课程设计教学任务书38317.doc_第3页
第3页 / 共12页
《数据结构》课程设计教学任务书38317.doc_第4页
第4页 / 共12页
《数据结构》课程设计教学任务书38317.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

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

1、数据结构课程设计教学任务书38317艺术的大道上荆棘丛生,这也是好事,常人望而却步,只有意志坚强的人例外。雨果 数据结构课程设计教学任务书计算机2007-1课程设计周数:第20周指导老师:刘文娟一、课程设计的目的数据结构课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。学习数据结构是为了将实际问题中所涉及的对象在计算机中表示出来并对它们进行处理。通过课程设计可以提高学生

2、的思维能力,促进学生的综合应用能力和专业素质的提高。通过此次课程设计主要达到以下目的:* 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;* 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;* 提高综合运用所学的理论知识和方法独立分析和解决问题的能力;* 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。二、课程设计的基本要求1、独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。2、做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的

3、设置方法,准备好有关的文件。3、按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;其中包括:a)需求分析:在该部分中叙述,每个模块的功能要求b)概要设计在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。c)详细设计各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。d)调试分析测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存

4、在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。e)课程设计总结:(保存在word文档中)总结可以包括:课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对数据结构课程的认识等内容;4、每组实现的结果必须进行检查和演示;程序源代码和程序的说明文件必须上交,作为考核内容的一部分;(上交时每人交一份,文件夹的取名规则为:学号 姓名,如200413498 高魁。该文件夹下至少包括:源代码、课程设计报告、可执行文件。由学习委员收集刻盘按规定时间统一上交)。5、报告提交时间:第20周星期五检查,第20周星期五下午5点之前由

5、学习委员收集上交,迟交无成绩。形式:课程设计报告(要求打印)和电子文档(统一刻盘)。三、课程设计内容:1、排序算法演示系统【问题描述】设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。【基本要求】(1)实现各种内部排序。包括冒泡排序,直接选择排序,希尔排序,快速排序,堆排序。(2) 待排序的元素的关键字为整数。其中的数据要用随机数产生(如10000个),至少用5组不同的数据做比较,再使用各种算法对其进行排序,记录其排序时间,再汇总比较。(3) 演示程序以人机对话的形式进行。每次测试完毕显示各种比较指标值的列表,用饼图或条形图进行表示,以便比较各种排序的优劣。(4)

6、界面友好,易与操作。采用菜单方式进行选择。【选做内容】(1) 对不同表长进行比较;(2) 验证各算法的稳定性;(3) 输出界面的优化。(4) 使用汉字显示。2、校园导游咨询系统【问题描述】设计一个校园导游程序,为来访的客人提供各种信息查询服务。【基本要求】(1) 设计安徽理工大学的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。(2) 为来访客人提供图中任意景点相关信息的查询。(3) 为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。【选做内容】(1) 系统功能的完善;(2) 提供

7、求任意两个景点之间的所有路径的功能;(3) 提供校园图中多个景点的最佳访问路线查询,即求途经这多个景点的最佳(短)路径。(4) 使用汉字显示。3、通讯录【问题描述】设计散列表实现通讯录查找系统。【基本要求】(1) 设每个记录有下列数据项:电话号码、用户名、地址;(2) 从键盘输入各记录,分别以电话号码为关键字建立散列表;(3) 采用线性探测再散列法解决冲突;(4) 查找并显示给定电话号码的记录;(5) 通讯录信息文件保存;(6) 要求人机界面友好,使用图形化界面;【选做内容】(1) 系统功能的完善;(2) 设计不同的散列函数,比较冲突率;(3) 在散列函数确定的前提下,尝试各种不同类型处理冲突

8、的方法,考察平均查找长度的变化。(4) 使用汉字显示。【实现提示】如果不用界面编程,可用以下函数实现:主函数:根据选单的选项调用各函数,并完成相应的功能。Menu()的功能:显示英文提示选单。Quit()的功能:退出选单。Create()的功能:创建新的通讯录。Append()的功能:在通讯录的末尾写入新的信息,并返回选单。Find():查询某人的信息,如果找到了,则显示该人的信息,如果没有则提示通讯录中没有此人的信息,并返回选单。Alter()的功能:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。Delete()的功能:删除某人的信息,如果未找到要删除的人,

9、则提示通讯录中没有此人的信息,并返回选单。List()的功能:显示通讯录中的所有记录。Save()的功能:保存通讯录中的所有记录到指定文件中。Load()的功能:从指定文件中读取通讯录中的记录。4、哈夫曼编码/译码器【问题描述】设计一个哈夫曼编码/译码系统,对一个文本文件中的字符进行哈夫曼编码,生成编码文件(压缩文件,后缀名.cod);反过来,可将一个压缩文件译码还原为一个文本文件(.txt)。【基本要求】(1) 输入一个待压缩的文本文件名, 统计文本文件中各字符的个数作为权值,生成哈夫曼树;(2) 将文本文件利用哈夫曼树进行编码,生成压缩文件(后缀名cod),(3) 输入一个待解压的压缩文件

10、名称,并利用相应的哈夫曼树将编码序列译码;(4) 显示指定的压缩文件和文本文件;(5) 界面友好,易与操作。采用菜单方式进行选择。【选做内容】(1) 把哈夫曼编码用二进制位紧缩到一个变量中,利用位运算进行真正的数据压缩,并求压缩比。(2) 显示哈夫曼树;(3) 使用汉字显示。 艺术的大道上荆棘丛生,这也是好事,常人望而却步,只有意志坚强的人例外。雨果 5、二叉树遍历算法集成功能要求:(1) 界面友好,易于操作。可采用菜单或其它人机对话方式进行选择。(2) 实现各种二叉树的遍历。包括先序遍历、中序遍历、后序遍历的递归或非递归算法。(3) 要求能查找任一结点在某种遍历序列中的前驱和后继。(4) 演

11、示程序以人机对话的形式进行。每次测试完毕正确显示各种遍历序列。在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;6、航班信息的查询与检索功能要求:(1)界面友好,易于操作。可采用菜单或其它人机对话方式进行选择。(2)实现对飞机航班信息进行排序与查找。可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。每个航班记录包括八项:航班号、起点站、到达站、班期、起飞时间、到达时间、飞机型号以及票价。除了票价为数值型外,其它的均定义为字符串。航班号起点站终点站班期起飞时间到达时间飞机型号票价CA1544合肥

12、北京1.3.510551240733960MU5341上海广州每日14201615M901280CZ3869重庆深圳2.4.60855103573310107、学生成绩管理系统(图书管理系统、个人账簿管理系统)功能要求:(1)界面友好,易于操作。可采用菜单或其它人机对话方式进行选择。(2)实现对学生成绩信息进行排序与查找。可按学生学号、姓名等信息进行查询。每个学生信息包含:学号,姓名,班级,语文,数学,英语,物理,化学等项。学生信息的存储结构可以选择顺序结构,也可以选择链式结构。8、表达式求值功能要求:当用户输入一个合法的表达式后,能够返回正确的结果。能够计算的运算符包括:加、减、乘、除、括号

13、;能够计算的数要求在实数范围内。能执行多重括号嵌套运算。对于异常表达式给出错误提示。(要求使用静态栈数据结构。)9、飞机订票系统功能要求:(1)录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)(2)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;(3)订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;(4)退票: 可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

14、(5)修改航班信息:当航班信息改变可以修改航班数据文件10、多项式运算功能要求:(1)输入并建立多项式;(2)输出多项式,输出形式为整数序列n,c1,e1,c2,e2,.,cn,en,其中n是多项式的 项数,ci和ei分别是第i项的系数和指数,序列按指数降序排列;(3)多项式a和b相加,建立多项式a+b;输出相加的多项式(4)多项式a和b相减,建立多项式a-b。输出相加的多项式(5)用带表头结点的单链表存储多项式。11、猴子选大王问题描述: n只猴子要选大王,选举方法是:所有猴子按1,2,.,n编号围坐一圈,从第1号开始按1,2,.,m报数,凡报到m号的退出圈外,如此循环报数,直到圈内剩下一只猴子时,这只猴子就是大王。基本要求:分别选择顺序表和单向循环链表作为存储结构模拟整个过程,并依次输出出列的各猴子的编号和最终所选出猴王的编号。12、停车场管理问题描述: 设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它

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

当前位置:首页 > 生活休闲 > 社会民生

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