压缩文件,在我们的日常生活中用途十分广泛,几乎随处可见。它为我们节省了大量的网络传输资源和存储空间。最简单并且使用最为广泛的压缩算法便是哈夫曼编码(一种无损编码方法)。
首先,我们通过一个简单的例子了解一下信息在计算机中的存储,给出下面一个字符串。计算机只能存储二进制数,所以我们要先把这串字符转化为二进制编码保存。
最简单的方法就是使用定长编码一一对应存储,比如我们用每三位二进制码对应一个字符来存储:
解码时,只需要按照上图中的编码规则,每三位二进制码对应一个字符即可。
这种定长编码存储方式最简单,效率也比较高,但是占用空间比较大。
下面讲一讲实现简单且占用空间小的编码方式,哈夫曼编码就是其中之一。
哈夫曼编码是通过构造哈夫曼树实现的,我们先了解有关树的一些知识: