文件压缩项目(基于Huffman编码)

文件压缩

文件压缩可以简单理解为在不丢失有用信息的前提下,缩减数据量已达到压缩的效果。

压缩本质

1.专有名词采用的固定短语

比如:我们常把清华大学北京大学称为清北,这样的就是专有名词压缩。

2.缩短文件中重复的短语,即将重复的内容替换成更短的<距离,长度>对。

举个栗子:kiloluoshuabcxyzkiloxiaohengkiloluoshuabcdefg
替换后为kiloluoshuxyz<16,4>xiaoheng<28,10>abcdefg

3.给文件中每个字节找一个更短的编码,这种方式就是huffman编码的压缩原理

比如文件中存放的数据为: ABCDBBCCDDCCDDDD
我们可以采用对每个字符都替换成编码来表示
采用动态不等长编码表示即按出现次数,出现频率低的用更长的编码表示,出现频率高的用短的编码表示
在这里插入图片描述
由此可以得到:
采用静态等长编码的压缩:00011011 01011010 11111010 11111111
采用动态不等长压缩: 100101110 10110111 11001111 0000

huffman树

从二叉树的根节点到二叉树所有叶节点的路径长度与相应权值的乘积之和为该二叉树的带权路径长度,带权路径最小的二叉树为Huffman

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值