【精选】2009-数据结构课程实习.pptVIP

  • 1
  • 0
  • 约4.66千字
  • 约 26页
  • 2017-11-28 发布于贵州
  • 举报
【精选】2009-数据结构课程实习

数据结构课程实习 实习班级:111081-4班 指导教师:张剑波 方芳 内容提要 实习时间安排 考核标准 需要提交的文档 实习题目及讲解 一、实习时间安排 实习时间(2周,3学分,48学时) 1月12号到1月20号,9天时间 下午2:00-6:00, 5学时 实习地点:信息楼202 课程实习中随时可以检查完成情况! 二、考核标准 上机考勤: 10% 课程设计报告:30% 软件设计作品:60% 注意:本次实习布置3道题可供选择,实习成绩与完成的题数和质量相关 1、优秀:完成3题,且代码质量高; 2、良好:完成2题,且代码质量高; 3、中等:完成2题,且代码质量一般; 4、及格:完成1题; 5、不及格:完成小于1题 三、需要提交的文档 课程设计报告:严格按照格式要求撰写,并使用A4纸打印 (课程设计报告不需要打印所有源代码) 源程序汇总:各班学习委员将所有同学的源代码以及设计报告汇总,按班级-学号-姓名的形式分目录存储,刻成光盘 上交时间:下学期开学第一周的周一 上交地点:信工楼213软件工程系 四、实习题目 实习一:软件压缩/解压缩软件 Szip(Huffman算法及应用) 要求:首先对一个现有文件进行编码行成新的文件,也就是压缩。在文件使用时,再对压缩文件进行解码,也就是解压,复原原有文件。 例如:控制台程序命令为: 压缩命令 :SZip A 1.doc Test.Haf 解压缩命令:SZip X Test.Haf 2.doc 或 SZip X Test.Haf 实习一 基本要求: 压缩准备:读取指定被压缩文件,对文件进行分析,建立哈夫曼树。 压缩:利用已建好的哈夫曼树,对文件进行编码,并将哈夫曼编码及文件编码后的数据一起写入文件中,形成压缩文件(*.Haf)。 解压:打开已有压缩文件(*.Haf),读取其中的哈夫曼编码,构建哈夫曼树,读取其中的数据,进行译码后,写入文件,完成解压缩。 实习一(续1) 提高要求: 基于Windows对话框界面,可选择输入/输出文件名,有压缩进度条显示。 解压不必指定文件后缀,自动生成原始文件。 同类型的文件测试不同的数据集,比较其压缩比,采用最有效的压缩方式。 支持多种类型文件的压缩。 试构建程序框架,使其能添加新的压缩/解压缩算法(例如书上LZW压缩算法) 实习一(续2) 测试数据: 约40000字符左右。 示例数据.txt, 80K,采用WinRar压缩后为43K;本算法压缩后约为61K; 示例数据.doc,144K,采用WinRar压缩后为52K。 实习一提示 针对ASCII字符集[0,255]的频率统计 数据类型采用BYTE或unsigned char 文件一般读取两次:统计与编码 分块读取文件,建议为1K的整数倍 为了获得较好的压缩效率,频率的确定要以大量的统计数字为依据,或者压缩时再动态地统计各字符出现的频率 静态Huffman压缩 动态Huffman压缩 实习一提示(续1) 压缩存储的实现 从字符序列中逐个取出字符,转换为Huffman编码,以位为单位依次存储。 例如:a:0, b:10, c:110; d:1110; e:1111 abaacaadaaaeaab 0100011000111000011110010 需要四个字节的空间, 使用unsigned short存储: 0xFFFF,16位 使用unsigned int存储: 0xFFFFFFFF,32位 使用位操作、移位操作 位操作示例 Int Insertbit (int bit) { hufcoded=1; if (bit) hufcoded |=1; if (++bitcounter==8) { bitcounter=0; fputc(hufcoded, file); } } 实习一提示(续2) Huffman树的保存: 顺序存储方法,511个结点足够 由于Huffman树是完全二叉树,每个非叶结点都有两个孩子,没有左孩子的结点一定是叶结点。所以,我们实际上只需要rlink字段就能描述我们的Huffman树 可以使用带右链的先根次序储Huffman树: 每个结点需要三个字段 Info是结点的数据,rlink是指右子树的指针,tag标记该结点是否有左子女 当rlink =512时表示它是指向右子树的指针,否则表示一个代码为rlink-512的字符的叶结点。这样,约需要511×2≈1KB的附加空间用于存储Huffman树。 实习一提示(续3) 解压过程: 把数据从Huffman编码还原到原来的字符编码,也要以位为单位,一位一位地进行。最先从根开始,根据面临的数据位是0还是1决定走左子树或右

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档