【Program】基于 Huffman 编码的文件压缩

本文介绍了基于Huffman编码的文件压缩原理和流程。通过统计文件中每个字节的出现频率,构建Huffman树,从而为每个字节生成更短的编码,实现文件的无损压缩。文章还探讨了构建Huffman树的优先级队列方法。
摘要由CSDN通过智能技术生成

【Program】基于 Huffman 编码的文件压缩

一、文件压缩

1.1 定义

  文件压缩:在不丢失有用信息的前提条件下,缩减数据量以减少储存空间,提高其传输、储存和处理效率。换句话说文件压缩就是按照一定的算法对文件中数据进行重新组织,减少收据的冗余和存储空间的一种技术,用示意图表示如下图所示。
在这里插入图片描述


1.2 目的

  那为什么要进行文件压缩呢?主要有以下几个方面的原因:

  (1) 缩进数据储存容量,减少存储空间

  (2) 提高数据传输的速度,减少带宽占用量,提高通信效率

  (3) 对数据的一种加密保护,增强数据在传输过程中的安全性


1.3 压缩的分类

在这里插入图片描述
  一般,有损压缩比无损压缩算法压缩率要高。

             压 缩 率 = 压 缩 后 的 结 果 大 小 源 文 件 大 小 压缩率 = \frac{压缩后的结果大小 }{ 源文件大小} =


1.4 压缩的原理

  压缩的本质:让文件占用的空间变小,减小文件所占用的存储空间(必须能够解压缩)。

  (1) 将专有名词采用固定短语代替

  比如:中华人民共和国 -> 中国 -> 中华人民共和国;北京大学 -> 北大 -> 北京大学。

  (2) 缩短文件中的重复数据(通用无损压缩算法)

  采用 <举例,长度> 这个数据对来进行压缩,重复出现 3 次及以上进行替换,没有重复出现的内容,原封不动写入压缩文件中。比如:

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值