数据压缩之-----哈夫曼编码
哈夫曼编码是一种常见的数据压缩算法,相较于最基础的行程编码,哈夫曼编码在绝大多数条件下,都能成功的压缩文件大小。
哈夫曼算法的压缩原理是用少于一个字节的大小去表示一个字符,从而达到压缩的目的
要完成一个哈夫曼编码的算法如下:
- 将数据文件中的字符进行统计,并将不同字符按从多到少的数量排序
- 将这个降序序列最小的两个字符的个数相加,得到新的个数(如果有三个及以上相同的个数,就随便选两个相加)
- 重复步骤2,直到最终只剩下一个数字。
- 在这个循环的过程中,生成了一棵二叉树,在这个树上,左枝写0右枝写1,然后从上往下,就形成了每个字符独有的编码。