HuffMan编码--文件压缩

HuffManTree,又称为最优二叉树,是加权路径最短的二叉树。
使用贪心算法来构建哈夫曼树。贪心算法:是指在问题求解时,总是做出当前看起来最好的选择。也就是说贪心算法做出的不是整体最优解,而是某种意义上的局部最优解。贪心算法不是对所有的问题都能得到最优解。
如下图哈夫曼树我们来分析下文件压缩的原理:

HuffMan编码--文件压缩

如图的哈夫曼树,我们将叶节点作为每个字符出现的次数,分析树可得,出现次数多的靠近跟节点,出现次数少的远离根节点

HuffMan编码--文件压缩

InPut为欲压缩文件,

InPut.con配置文件,

InPut.HuffMan压缩文件,

InPut.uncomp解压文件。


这就是文件压缩项目的有关内容,需要具体代码的戳

https://github.com/shunshierwei/test/tree/master/fileCompress/%E9%AA%8C%E6%94%B6