【Program】基于 Huffman 编码的文件压缩
文章目录
一、文件压缩
1.1 定义
文件压缩:在不丢失有用信息的前提条件下,缩减数据量以减少储存空间,提高其传输、储存和处理效率。换句话说文件压缩就是按照一定的算法对文件中数据进行重新组织,减少收据的冗余和存储空间的一种技术,用示意图表示如下图所示。
1.2 目的
那为什么要进行文件压缩呢?主要有以下几个方面的原因:
(1) 缩进数据储存容量,减少存储空间
(2) 提高数据传输的速度,减少带宽占用量,提高通信效率
(3) 对数据的一种加密保护,增强数据在传输过程中的安全性
1.3 压缩的分类
一般,有损压缩比无损压缩算法压缩率要高。
压 缩 率 = 压 缩 后 的 结 果 大 小 源 文 件 大 小 压缩率 = \frac{压缩后的结果大小 }{ 源文件大小} 压缩率=源文件大小压缩后的结果大小
1.4 压缩的原理
压缩的本质:让文件占用的空间变小,减小文件所占用的存储空间(必须能够解压缩)。
(1) 将专有名词采用固定短语代替
比如:中华人民共和国 -> 中国 -> 中华人民共和国;北京大学 -> 北大 -> 北京大学。
(2) 缩短文件中的重复数据(通用无损压缩算法)
采用 <举例,长度> 这个数据对来进行压缩,重复出现 3 次及以上进行替换,没有重复出现的内容,原封不动写入压缩文件中。比如:
<