HuffManTree,又称为最优二叉树,是加权路径最短的二叉树。 使用贪心算法来构建哈夫曼树。贪心算法:是指在问题求解时,总是做出当前看起来最好的选择。也就是说贪心算法做出的不是整体最优解,而是某种意义上的局部最优解。贪心算法不是对所有的问题都能得到最优解。 如下图哈夫曼树我们来分析下文件压缩的原理:
如图的哈夫曼树,我们将叶节点作为每个字符出现的次数,分析树可得,出现次数多的靠近跟节点,出现次数少的远离根节点
InPut为欲压缩文件,
InPut.con配置文件,
InPut.HuffMan压缩文件,
InPut.uncomp解压文件。
这就是文件压缩项目的有关内容,需要具体代码的戳
https://github.com/shunshierwei/test/tree/master/fileCompress/%E9%AA%8C%E6%94%B6
本文出自 “顺势而为” 博客,请务必保留此出处http://lk123456.blog.51cto.com/10831443/1833350
原文地址:http://lk123456.blog.51cto.com/10831443/1833350