数据结构课程课外实践任务

上传人:m**** 文档编号:552667727 上传时间:2023-11-07 格式:DOC 页数:25 大小:208KB
返回 下载 相关 举报
数据结构课程课外实践任务_第1页
第1页 / 共25页
数据结构课程课外实践任务_第2页
第2页 / 共25页
数据结构课程课外实践任务_第3页
第3页 / 共25页
数据结构课程课外实践任务_第4页
第4页 / 共25页
数据结构课程课外实践任务_第5页
第5页 / 共25页
点击查看更多>>
资源描述

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

1、 . . . 数据结构课程课外实践安排(2012-2013学年第一学期)课外实践学时:32学时课外实践目的:综合应用数据结构课程中所学的数据结构:线性表、栈、队列、串、数组、广义表、树、二叉树、图、查找表中的一种或多种数据结构完成一个较大问题的求解(其实这里的问题也并不太大,所用的数据结构可能是其中的多个,也可能是其中的一个两个)。从而培养学生综合应用基本数据结构分析、解决实际问题的能力,并进一步加深对所学知识的理解和掌握。课外实践要求:1、课外实践以组为单位开展,每组35名同学,自由组合,确定组长一名。2、每组从附件1列出的题目中任意选择其中一个完成(鼓励大家选择对你自己而言有一定挑战性的题

2、目),每个题目最多由3组同学选做。强调独立思考,组分工明确,每组自己完成。3、鼓励大家参考教材上、参考书上和所选题目相关的容和算法。不鼓励大家一拿到实验题目就去网上或参考书上找相关程序源代码,通过思考该问题并最终解决该问题不仅可以锻炼大家,从而提高大家的水平,而且大家对该问题的解决也会有成就感!4、实现你所选题目要求的功能,并能够进行较完善友好的输入输出验证。5、完成你所选的课外实践题目后,就该题目给出设计报告(设计报告格式另给),并按时上交。6、每组同学须仔细阅读所选题目的要求,认真主动完成设计要求。有问题与时主动通过各种方式与教师联系沟通。同学们要发挥自主学习的能力,充分利用课外时间,安排

3、好课外实践的时间,并在设计过程中不断检测自己的计划完成情况,与时的向教师汇报。 课外实践按照教学要求需要思考和上机调试程序至少32学时,代码量要求在6003000行。7、课外实践的考核需要按组进行答辩,安排在第16周或17周进行。附件1:数据结构课程课外实践可选题目一、运动会分数统计系统 任务:参加运动会有n个学校,学校编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m=20,n=20) 功能要求:1).可以输入

4、各个项目的前三名或前五名的成绩; 2)能统计各学校总分, 3)可以按学校编号、学校总分、男女团体总分排序输出; 4).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 规定:输入数据形式和围:20以的整数(如果做得更好可以输入学校的名称,运动项目的名称) 输出形式:有中文提示,各学校分数为整数 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存

5、储结构;测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据与测试结果请在上交的资料中写明;二、学籍信息管理实验目的综合考察数据存储、以与对各种存储结构的建立、插入、删除、排序、查找等操作。实验要求设计一个简单的学籍管理系统。包括建立、插入、修改,查找、输出、排序(按不同关键字)实验容1. 从学生基本信息文件读入数据以建立学籍信息。下面是一个例子:学号 性别 宿舍 07011001 成成 男 501 87732111 07011002 成华 女 101 87723112 07011003 王成凤 女 101 87723112 0701

6、1004 明明 男 502 87734333 07011005 东 男 501 87732111 每个学生信息至少包括:学号、性别。文件至少包括10个学生。2. 从学生成绩信息文件读入其容建立学生的成绩信息。以下一个例子:(至少包含20项信息)学号 课程编号 课程名称 学分平时成绩 实验成绩 卷面成绩 综合成绩 实得学分 07011001 A01 大学物理 3 66 78 82 07011002 B03 高等数学 4 78 -1 90 07011001 B03 高等数学 4 45 -188 07011002 C01VF 3 65 7666功能要求极其说明: (1)数据录入功能:录入每个学生的学

7、号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据。实得成绩、实得学分根据条件自动运算。 综合成绩的计算: a.如果本课程的实验成绩为-1,则表无实验成绩,综合成绩=平时成绩*30%+卷面成绩*70% b.如果实验成绩不为-1,表示本课程有实验成绩,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70%实得学分的计算:采用等级学分制。 综合成绩在90100之间,应得学分=学分*100% 综合成绩在8090之间,应得学分=学分*80% 综合成绩在7080之间,应得学分=学分*75% 综合成绩在6070之间,应得学分=学分*60% 综合成绩在60分以下,应得学分=学分*0

8、%3. 查询功能:分为学生基本情况查询和成绩查询两种 4. 删除功能:根据输入的学生或学好删除相应的学生信息。5. 排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。三、队列应用(用队列模拟超市交款处的顾客流)使用一个队列模拟一队通过丹尼斯超市交款处的顾客流。为了创建这个模拟,我们必须模拟排队时间和顾客通过流。我们可以通过一个循环模拟时间,每通过一个顾客代表一定的时间间隔例如,一分钟。我们可以使用一个队列模拟顾客流,队列中的一个数据项代表一位顾客。为了完成这个模拟,我们需要知道顾客加入交款处队列的频率、交款结算服务情况和离开的频率。假设交款队列有以下属性。 每分钟有一个顾客完成

9、交款并离开(假设此时至少有一个顾客等待服务)。 每分钟有零个到两个顾客加入,没有顾客到达的概率是50% , 一个顾客到达的概率是 25 % ,两个顾客到达的概率是 25 。(如何模拟?)我们可以使用下面的算法模拟一个时间段 n 分钟的顾客流。初始化队列为空。for (minute = 0 ; minute n ; + + minute) 如果队列不空,对头顾客交款并离开(即出对);产生一个0-3围的随机数k;如果k=1,一个顾客加入交款队列(入对);如果k=2,两个顾客加入交款队列(入对);如果k=0或3,不增加任何顾客到交款队列; 调用 rand ( )函数是产生伪随机数的一种简单的方法,r

10、and函数在中。我们的模拟程序应该在每一个模拟分钟期间更新下列信息,即每一次通过循环。 完成交款服务的总顾客数 这些顾客花费在排队等待的时间总和 顾客花费在排队等待的最长时间为了计算顾客等待的时间长度,我们需要存储“minute”,作为这个客户队列数据项的一部分,表示顾客加入的时间。如果你使用程序模拟一列顾客流,试着完成下面的表格。请注意,平均等待时间是等待时间总和除以总的服务顾客数。时间(分钟) 总的顾客服务时间 平均等待时间 最长等待时间3060120480四、应用哈夫曼树实现文件的压缩 实验目的:掌握二叉树的链式存储结构和常用算法。利用哈夫曼树设计最优压缩编码。实验容:1) 编写函数,实

11、现建立哈夫曼树和显示哈夫曼树的功能。2) 编写函数,实现生成哈夫曼编码的功能。3) 编写主函数,从终端输入一段英文文本;统计各个字符出现的频率,然后构建哈夫曼树并求出对应的哈夫曼编码;显示哈夫曼树和哈夫曼编码。选做容:修改程序,选择实现以下功能:4) 编码:用哈夫曼编码对一段英文文本进行压缩编码,显示编码后的文本编码序列;5) 统计:计算并显示文本的压缩比例;6) 解码:将采用哈夫曼编码压缩的文本还原为英文文本。 算法说明:1) 二叉树和哈夫曼树的相关算法见讲义。2) 编码的方法是:从头开始逐个读取文本字符串中的每个字符,查编码表得到它的编码并输出。重复处理直至文本结束。3) 解码的方法是:将

12、指针指向哈夫曼树的树根,从头开始逐个读取编码序列中的每位,若该位为1则向右子树走,为0则向左子树走。当走到叶子节点时,取出节点中的字符并输出。重新将指针放到树根,继续以上过程直至编码序列处理完毕。4) 压缩比例的计算:编码后的文本长度为编码序列中的0和1的个数,原文本长度为字符数*8。两者之比即为压缩比。五、数据压缩实验目的1)调研数据压缩原理与相关算法的实现;2)实现一个压缩/解压缩程序实验要求1. 阅读相关资料,理解数据压缩的意义和过程。2. 调研几个著名的数据压缩算法,写一份调研报告,说明其算法与所使用的数据结构。3. 实现一个压缩/解压缩程序,算法任意。4. 程序要求:控制台界面。首先

13、实现对单文件压缩的功能。命令行格式:压缩: 程序名 -c 输入文件 输出文件名解压缩: 程序名 -d 输入文件 输出文件名里容表示可选。控制台输出:压缩: 原始文件大小、压缩后文件大小、压缩比例、消耗时间解压缩: 解压前文件大小,解压后文件大小、压缩比例、消耗时间选做:1)将多个文件压缩到一个文件;2)检查压缩文件完整性,测试其能够完成解压缩;3)对文件测试,不压缩,输入其若压缩后的压缩率;4)列出压缩文件所包含的文件名;4)实现对整个目录进行压缩的功能。文件格式:对压缩文件起一个后缀名。若在命令行中没指定输入文件的话,输出文件名应该是 输入文件名+.后缀名 的格式;若在命令行中指定输出文件名

14、的话,后缀也应自动加上。实现的压缩比例越高、压缩事件越短越好。六、HTML文件中有序列表的语法树提取与基于树的检索实验说明HTML语言用来描述Web文档的通用格式和布局。详细的介绍可以参照一些书本或者网上资料。HTML中基本的语法单位称为标签。总的来说,标签用于指定容的类别。对于每个类别,针对特定的容,浏览器都有默认的显示方式。标签的使用语法是利用一对尖括号“”将标签名称包围起来。大部分标签都是成对的:包括开始标签和结束标签,如和。开始标签和结束标签之间的信息称为标签的容。这里仅考虑一个HTML语言的子集,该子集包含以下标签:, :标识文档的根元素;, :包含了文档的头部分,该部分提供了文档的相关信息,而没有提供文档的容;, :文档的标题元素,其容显示在浏览器的顶部;, :文档的主体部分,提供了文档的容;, :有序列表标签,用于创建有序列表,列表中的条目是通过标签, 指定的。可以嵌套有序列表。标签后不能直接嵌套,而必须通过嵌套。例如,下面的示例演示了嵌套的有序列表: test for nested lists Section 1Section 1.1

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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