目录
文件压缩
文件压缩可以简单理解为在不丢失有用信息的前提下,缩减数据量已达到压缩的效果。
压缩本质
1.专有名词采用的固定短语
比如:我们常把清华大学北京大学称为清北,这样的就是专有名词压缩。
2.缩短文件中重复的短语,即将重复的内容替换成更短的<距离,长度>对。
举个栗子:kiloluoshuabcxyzkiloxiaohengkiloluoshuabcdefg
替换后为kiloluoshuxyz<16,4>xiaoheng<28,10>abcdefg
3.给文件中每个字节找一个更短的编码,这种方式就是huffman编码的压缩原理
比如文件中存放的数据为: ABCDBBCCDDCCDDDD
我们可以采用对每个字符都替换成编码来表示
采用动态不等长编码表示即按出现次数,出现频率低的用更长的编码表示,出现频率高的用短的编码表示。
由此可以得到:
采用静态等长编码的压缩:00011011 01011010 11111010 11111111
采用动态不等长压缩: 100101110 10110111 11001111 0000
huffman树
从二叉树的根节点到二叉树所有叶节点的路径长度与相应权值的乘积之和为该二叉树的带权路径长度,带权路径最小的二叉树为Huffman