今天来聊聊哈夫曼编码 “哈夫曼编码”是一种最短编码方法等于香农第一定律的继续,它最早是由MIT的教授哈夫曼发明的。 关于哈夫曼编码有两个要点: 1.如果你了解香农第一定律,一定知道编码长度是有个理论最小值的,从数学上可以证明哈夫曼的这种编码方法是最优化的。 2.哈夫曼编码从本质上讲,是将最宝贵的资源(最短的编码)给出现概率最大的信息。至于资源如何分配,哈夫曼给出了一个原则,也就是一条信息编码的长度和出现概率的对数成正比。 哈夫曼编码的作用: 在现实生活中,很多信息的组合,比单独一条信息,其概率分布差异更大,因此技术上我们可以对它们使用哈夫曼编码进行信息压缩,压缩比会更高。比如说,在汉语中,如果对汉字的频率进行统计,然后压缩,一篇文章通常能压缩掉50%以上,但是如果按照词进行频率统计,再用哈夫曼编码压缩,可以压缩掉70%以上。 了解原理之前先搞清三个概念:哈夫曼树,哈夫曼编码和哈夫曼压缩 具体请看下图 a)哈夫曼树
b)哈夫曼树的构造过程和哈夫曼编码
c)哈夫曼压缩
解释:哈夫曼编码是怎么达到压缩的? 如上图所示,把结点权值看作结点出现的次数。字符a出现45次,字符b出现13次,字符c出现12次,字符d出现16次,字符e出现9次,字符f出现5次。 对abcdef六个字符编码,如果采用等长编码,至少一个字符需要3位。这样对这么多字符编码就需要3*(45+13+12+16+9+5)=300位。而采用如图所示的哈夫曼编码就只需要224位。压缩了25%的数据。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/71364.html