鱼C论坛

 找回密码
 立即注册
查看: 1149|回复: 10

[技术交流] 一个简单的Huffman编码实现

[复制链接]
最佳答案
0 
发表于 2016-8-16 17:08:55 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 hongchh 于 2016-8-16 17:26 编辑

问题描述:
有一组字符集{c1, c2, …, cn},在使用这组字符集的过程中,通过统计发现每个字符都有其相应的出现频率,假设对应的频率为{f1, f2, …, fn}。现在需要对这些字符进行二进制编码,我们希望的编码结果如下:每个字符都有其独一无二的编码;编码长度是变长的,频率大的字符使用更少的二进制位进行编码,频率小的字符则使用比较多的二进制位进行编码,使得最终的平均编码长度达到最短;每个字符的编码都有特定的前缀,一个字符的编码不可能会是另一个字符的前缀,这样我们可以在读取编码时,当读取的二进制位可以对应一个字符时,就读取出该字符。举个例子,假如我们有字符集{‘a’, ‘b’, ‘c’},字符’a’的编码为001,字符’b’的编码为010,那么此时c的编码不能为00或者01,这样我们才能识别’a’和’c’或者’b’和’c’。
解决方案:
Huffman编码,详细的算法介绍和实现细节请参考下面博客
博客地址: http://blog.csdn.net/hongchh/article/details/52218338
游客,如果您要查看本帖隐藏内容请回复
最佳答案
0 
发表于 2016-9-3 00:59:38 | 显示全部楼层
看看
最佳答案
1 
发表于 2016-10-9 14:58:20 | 显示全部楼层
棒棒的,加油
最佳答案
1 
发表于 2016-10-9 21:21:15 | 显示全部楼层
表示实在是该好好学习哈夫曼编码的了
最佳答案
0 
发表于 2016-10-18 20:31:57 | 显示全部楼层
谢谢分享
最佳答案
0 
发表于 2016-10-20 09:58:03 | 显示全部楼层
谢谢楼主~
最佳答案
0 
发表于 2016-10-26 20:04:11 | 显示全部楼层
顶~加油
最佳答案
0 
发表于 2016-12-30 20:18:47 | 显示全部楼层
这个有用,数据压缩算法方面
最佳答案
0 
发表于 2018-3-19 15:14:01 From FishC Mobile | 显示全部楼层
看看
最佳答案
0 
发表于 2018-4-16 19:33:10 From FishC Mobile | 显示全部楼层
AA
最佳答案
11 
发表于 2018-4-21 21:21:21 | 显示全部楼层
学习一下,希望这种技术贴都可以被顶起来!!!
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号 )

GMT+8, 2018-7-21 21:45

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表