数据结构课程设计报告--Huffman编码和文件压缩.docxVIP

数据结构课程设计报告--Huffman编码和文件压缩.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计报告--Huffman编码和文件压缩

课 程 设 计 报 告 题目: 题目三 哈夫曼编码与文件压缩 课程名称: 数据结构 专业班级:计算机科学与技术1003班 学 号: 姓 名: 鲁辰 指导教师: 报告日期: 2012.09.26 计算机科学与技术学院 目 录 1 任务书 3 2 绪言 4 2.1 课题背景 4 2.2 课题研究的目的和意义 4 2.3 国内外概况 4 2.4 课题的主要研究工作 4 3 系统设计方案的研究 5 3.1 系统的控制特点与性能要求 5 3.2 系统实现的原理 5 3.2.1 Huffman算法 5 3.2.2 Huffman编码 5 3.2.3 压缩过程 5 3.2.4 解压过程 6 3.3 系统实现方案分析 6 3.3.1 实现Huffman编码及压缩所需的变量 6 3.3.2文件名处理 7 3.3.3 实现Huffman编码及压缩过程所需要的函数 7 3.3.4 实现解压缩过程所需要的函数 8 3.3.5 输入输出 8 4 基于Huffman编码的文件压缩程序的设计 9 4.1 主模块功能介绍 9 5 系统的实现 10 5.1 目标程序运行截图 10 5.2 测试及测试数据分析 10 5.2.1 测试数据 10 5.2.2 测试数据分析 11 6 总结与展望 12 参考文献 13 附录 英文缩写词 14 1 任务书 题目三 哈夫曼编码与文件压缩  设计目的:掌握二叉树、哈夫曼树的概念,性质与存储结构,能够利用哈夫曼算法实现哈夫曼编码,并应用于文件压缩,从而提高学生综合运用知识的技能与实践能力。  设计内容:分析与设计哈夫曼树的存储结构,实现哈夫曼算法以及编码与译码基本功能,并对任意文本文件利用哈夫曼编码进行压缩得到压缩文件,然后进行解压缩得到解压文件。有兴趣的同学可以查阅资料实现Lempel-Ziv sliding window压缩方法,并与之比较。  设计要求: (1)要求界面友好,输入文本文件可带路径(如:D:\doc\original.txt),哈夫曼算法所得到的压缩文件名为*.cod,哈夫曼树也以文件形式保存,文件名为*.hfm。 (2)显示压缩比、压缩时间、解压时间与对应的编码表。  设计提示:统计文本文件中各字符的频度并作为权值生成哈夫曼树,并利用哈夫曼树进行二进制编码。  参考文献: [1] 严蔚敏, 吴伟民. 数据结构(C语言版). 北京: 清华大学出版社,1997 [2] 王晓东. 计算机算法设计与分析. 北京: 电子工业出版社, 2007 [3] 严蔚敏, 吴伟民, 米宁. 数据结构题集(C语言版). 北京: 清华大学出版社,1999 2 绪言 2.1 课题背景 在计算机软件应用领域,文件压缩是一项重要的技术。为了减少传输数据量或者减少存储空间,都需要将大型文件压缩成较小的文件。 2.2 课题研究的目的和意义 Huffman编码具有速度快、简单等优点,是一种很好的压缩方法。 2.3 国内外概况 1952年,David A. Huffman在麻省理工攻读博士时所发明的,并发表于《一种构建极小多余编码的方法》(A Method for the Construction of Minimum-Redundancy Codes)一文。 2.4 课题的主要研究工作 (1)通过查阅书籍并在网上查看相关论文,对Huffman编码算法有一个清晰的认识。 (2) 使用 Microsoft Visual Studio 2010 实现基于Huffman编码的文件压缩程序。 (3)通过使用各种不同的测试文件对该程序进行测试,记录并分析压缩算法的压缩比、压缩时间等数据。 (4)分析测试数据,并根据需要对代码进行优化。 3 系统设计方案的研究 3.1 系统的控制特点与性能要求 本系统是使用VS2010开发的MFC应用程序,对话框是使用MFC生成的,而对文件读写操作以及Huffman编码的算法部分是用C语言实现的。 本系统的特点是图形界面,使用简单,便于操控。 本系统不要求使用者安装Visual Studio 或者 MFC类库(?)。 3.2 系统实现的原理 3.2.1 Huffman算法 (1)根据给定的n个权值{ω1,ω2,…,ωn}构成n棵二叉树的集合F={T1,T2,…,Tn},其中每棵二叉树Ti中只有一个带权为ωi的根结点,其左右子树为空。 (2)在F中选取两棵根结点权值最小的树作为左右子树构造一棵新的二叉

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档