哈夫曼编码与译码的实现.pdf





《哈夫曼编码与译码的实现.pdf》由会员分享,可在线阅读,更多相关《哈夫曼编码与译码的实现.pdf(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构课程设计评阅书题目哈夫曼编码与译码的实现学生姓名万永馨学号1021024016 指导教师评语及成绩指导教师签名:年月日答辩评语及成绩答辩教师签名:年月日教研室意见总成绩:室主任签名:年月日20112012 学年第一学期专业:信息管理与信息系统学号:1021024016 姓名:万永馨课程设计名称:数据结构课程设计设计题目:哈夫曼编码与译码的实现完成期限:自 2012 年 2 月 20 日至 2012 年 3 月 2 日共 2 周设计依据、要求及主要内容(可另加附页):该设计题目将按以下要求完成:哈夫曼编码与译码是信息传输中应用的经典算法,运用 C或 VC+结合数据结构等基础知识,按以下要
2、求编程实现各种进制的转换。任务要求:1)阐述设计思想,画出流程图;2)需要对哈夫曼编码/译码的相关原理有所了解,设计数据结构,建立必要的信息数据文件(最好存储成外部文件),并分析完成用户所需的基本操作功能;3)实现给定信息的编码和译码功能;4)应有较好的界面设计,说明程序测试方法;5)按照格式要求完成课程设计说明书。设计要求:1)问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么?(而不是怎么做?)限制条件是什么?确定问题的输入数据集合。2)逻辑设计:对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型
3、。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图;3)详细设计:定义相应的存储结构并写出各函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。详细设计的结果是对数据结构和基本操作做出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架;4)程序编码:把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,使程序中逻辑概念清楚;5)程序调试与测试:能够熟练掌握调试工具的各种
4、功能,设计测试数据确保程序正确。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;6)结果分析:程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。算法的时间、空间复杂性分析;7)编写课程设计报告;以上要求前三个阶段的任务完成后,将设计说明书的草稿交指导老师面审,审查合格方可进入后续阶段的工作。设计工作结束,经指导老师验收合格后将设计说明书装订,并答辩。指导教师(签字):教研室主任(签字):文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编
5、码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D
6、5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编
7、码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D
8、5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编
9、码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D
10、5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编
11、码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1批准日期:年月日摘 要在当今信息爆炸时代,如何采取有效的数据压缩技术来节省数据文件的储存空间越来越引起人们的重视。本次课程设计的实验题目为哈夫曼编码与译码的实现。利用哈夫曼树求得的用于通讯的二进制编码称为哈弗曼编码。通常我们将文字转化为二进制称为编码,而将二进制转化为文字称为译码。此次程序就是将一个简单的文件进行编码转化为二进制数存入文件并进行译码进而输出。而将文件转化为二进制编码运用哈夫曼树的相关知识可以有效的节省存储空间与时间。关键词:哈夫曼树;哈夫曼树的编码;哈夫曼树的译码;哈夫曼树初始化;哈夫曼树的建立开发工具:
12、visual C+文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J
13、1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV
14、4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J
15、1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV
16、4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J
17、1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV
18、4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y14 目录1.引 言.52.课题描述.63.程序设计.73.1 实验目的与基本要求.73.2 部分函数介绍 .73.3 主要模块程序流程图.84 系统实现.124.1 主函数(菜单函数).124.2 建立 HuffmanTree.124.3生成 Huffman 编码并写入文件.144.4对文件哈夫曼译码.txt 进行译码译码.155 系统调试
19、.16附录源程序.22文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L
20、8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1
21、ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L
22、8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1
23、ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L
24、8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1
25、ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y1文档编码:CB9L8J1T7E7 HV7P3D5G1X1 ZV4D2R2S3Y15 1.引 言在课程设计过程中,我们四个人一组选择一个课题,认真研究,根据课堂讲授内容,借助书本,自己动手实践。这样不但有助于我们消化课堂所讲解的内容,还可以增强我们的独立思考能力和动手能力;通过编写实验代码和调试运行,我们可以逐步积累调试C程序的经验并逐渐培养我们的编程能力、用计算机解决实际问题的能力。在课程设计过程中,我们不但有自己
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈夫曼 编码 译码 实现

限制150内