首页 >  毕业论文  > 正文

文本压缩算法的学习和实践

本文阐述了四种比较经典的编码算法(算术、游程、字典、huffman)的基本原理和实现过程,并实现对应算法对不同的文本进行编码,比较压缩效率的高低和时间的长短。通过对结果的统计和分析判断每种算法的优劣,从而得出每种算法的应用范围。根据实验的结果可知游程编码的时间性能和空间性能最高,huffman编码、字典编码、算术编码的时间复杂度和空间复杂度依次变大,但是对于一般的文本,游程编码的压缩效率相对来说很小,算术编码的效率变得最大,其次是字典编码和huffman编码,然而对于连续重复字节较多的文本,游程编码的效率就变的非常高,有时甚至达到百分之九十多。可见不同的编码方式都各有各的优势,没有一种编码万能的,对于不同的环境要采取合适的编码方式。
[关键词] 压缩; 编码; 效率
 1.3  设计方法
本程序基于VC开发平台,结合C和C++基础语言,利用MFC设计界面,基于算术编码、huffman编码、字典编码和游程编码的原理模拟几种经典的压缩程序。
具体问题如下:
(1)程序设计的界面美化
用外部的图片填充画刷,对窗体进行重绘,达到自己想要美化的效果。
(2)压缩方法的设计
基于几种经典的压缩原理,利用自己所学的数据结构、C语言等方面的知识,实现相应的压缩算法。
(3)系统结构的设计
每种方法都写成自有的类,类的成员方法分别实现自己的压缩和解压功能,通过VC的消息响应机制将界面和功能统一起来。
2.3  算法的原理及分析
从计算机的出现到现在已经半个多世纪,半个世纪以来数据压缩成为人们研究中的热点,各种压缩算法层出不穷,几种经典的算法也相应而生。每种算法都各有优点和缺点,一种算法根据文件内容的不同,其压缩的效率也会有所差别。下面就是我们分析算法的原理以及优缺点[2]。
 
目    录
1 背景意义 1
1.1 设计背景 1
1.2 设计意义 1
1.3 设计方法 1
2 系统分析 2
2.1 系统结构图 2
2.2 操作流程 3
2.3 算法的原理及分析 3
2.3.1 算术编码 3
2.3.2 游程编码 5
2.3.3 字典编码 6
2.3.4 Huffman编码 9
3 系统的设计 11
3.1 系统的界面设计 11
3.2 算术编码的设计 11
3.3 游程编码的设计 11
3.4 字典编码的设计 13
3.5 Huffman编码的设计 13
4 编码与实现 15
4.1 配置环境 15
4.2 在设计软件的问题的解决方法 15
4.2.1 Huffman树在文件中的存储 15
4.2.2 算术编码的概率表示 15
4.3 算术编码核心代码的实现 15
4.3.1 压缩代码的实现 15
4.3.2 解压代码的实现 18
4.4 游程编码核心代码的实现 19
4.4.1 压缩代码的实现 19
4.4.2 解压代码的实现 20
4.5 字典编码核心代码的实现 20
4.5.1 压缩代码的实现 20
4.5.2 解压代码的实现 21
4.6 Huffman编码核心代码的实现 22
4.6.1 压缩代码的实现 22
4.6.2 解压代码的实现 23
5 系统的测试与运行 23
5.1 测试概述 23
5.1.1 软件测试的目的 23
5.1.2 软件测试的任务 24
5.1.3 软件测试的环境 24
5.1.4 软件测试的结果 24
5.2 测试结果的分析 24
5.3 测试结果的结论 26
结束语 27
参考文献 28
致谢 29
 

以上是本题目部分介绍,若需要完整版或不符合您的要求,请联系客服QQ:242219979

上一篇:SSM校园二手市场交易平台的设计与实现

下一篇:图像radon变换的研究与实现

相关文章: