转 霍夫曼编码原理 霍夫曼编码实验报告

哈夫曼编码

哈夫曼(Huffman)编码是一种常用的压缩编码方法,是Huffman于1952年为压缩文本文件建立的。它的基本原理是频繁使用的数据用较短的代码代替,较少使用的数据用较长的代码代替,每个数据的代码各不相同。这些代码都是二进制码,且码的长度是可变的。举个例子:假设一个文件中出现了8种符号S0,S1,S2,S3,S4,S5,S6,S7,那么每种符号要编码,至少需要3比特。假设编码成000,001,010,011,100,101,110,111(称做码字)。那么符号序列S0S1S7S0S1S6S2S2S3S4S5S0S0S1编码后变成000001111000001110010010011100101000000001,共用了42比特。我们发现S0,S1,S2这三个符号出现的频率比较大,其它符号出现的频率比较小,如果我们采用一种编码方案使得S0,S1,S2的码字短,其它符号的码字长,这样就能够减少占用的比特数。例如,我们采用这样的编码方案:S0到S7的码字分别01,11,101,0000,0001,0010,0011,100,那么上述符号序列变成011110001110011101101000000010010010111,共用了39比特,尽管有些码字如S3,S4,S5,S6变长了(由3位变成4位),但使用频繁的几个码字如S0,S1变短了,所以实现了压缩。

上述的编码是如何得到的呢?随意乱写是不行的。编码必须保证不能出现一个码字和另一个的前几位相同的情况,比如说,如果S0的码字为01,S2的码字为011,那么当序列中出现011时,你不知道是S0的码字后面跟了个1,还是完整的一个S2的码字。我们给出的编码能够保证这一点。

下面给出具体的Huffman编码算法。

(1)首先统计出每个符号出现的频率,上例S0到S7的出现频率分别为4/14,3/14,2/14,1/14,1/14,1/14,1/14,1/14。

(2)从左到右把上述频率按从小到大的顺序排列。

[转]霍夫曼编码原理 霍夫曼编码实验报告

(3)每一次选出最小的两个值,作为二叉树的两个叶子节点,将和作为它们的根节点,这两个叶子节点不再参与比较,新的根节点参与比较。

(4)重复(3),直到最后得到和为1的根节点。

(5)将形成的二叉树的左节点标0,右节点标1。把从最上面的根节点到最下面的叶子节点途中遇到的0,1序列串起来,就得到了各个符号的编码。

上面的例子用Huffman编码的过程如图9.1所示,其中圆圈中的数字是新节点产生的顺序。可见,我们上面给出的编码就是这么得到的。

Huffman编码的示意图

产生Huffman编码需要对原始数据扫描两遍。第一遍扫描要精确地统计出原始数据中,每个值出现的频率,第二遍是建立Huffman树并进行编码。由于需要建立二叉树并遍历二叉树生成编码,因此数据压缩和还原速度都较慢,但简单有效,因而得到广泛的应用。

  

爱华网本文地址 » http://www.aihuau.com/a/25101012/122401.html

更多阅读

喷泉实验的原理及其考查题型 喷泉实验原理

喷泉实验的原理及其考查题型1.形成原因:P(外)≠P(内)2.形成条件:气体极“易”“溶”于“溶剂”易:溶解度大且溶解速度快溶:可是物理过程,也可是发生化学反应导致气体的消耗溶剂:可是水,也可以是某种溶液3.常见实例:水作溶剂:HCl、HBr、HI、SO

硫化锌的制备实验报告 阿司匹林制备实验报告

硫化锌的制备实验报告实验日期:2012年2月7日实验地点:辽宁省沈阳市某郊区楼道室温:19℃【实验目的】1.认识硫单质的弱氧化性2.制备硫化锌留用3.观察硫与锌反应的现象【实验原理】硫与锌在点燃的条件下发生氧化还原反应,硫将锌氧

转帖 科学分析几份见龙者的目击报告 - 龙 目击者

网路上收集转贴的关于龙的目击报告,引起了我比较大的兴趣。感谢网路整理的资料。本贴试以科学的态度选几份内容详细的报告分析,提出几个问题与大家探讨。首先排除那些不是关于龙的目击报告,不属于本贴话题。其次再排除内容很少的帖子,多

历史上曾经的时间旅行实验 霍金 时间旅行 实验

我相信大家都做过这样的梦,突然有一天,遇到了一个很偶然的事件把我们送到了过去或者未来,然而事实上大家也就帮时间穿梭当成一个美好的梦。大家会通过看科幻小说或者看看穿越剧来满足自己对时间旅行的憧憬。然而还是有那么一些人并不愿

转 边界扫描的测试原理及九大指令 星际边界指令

[ wangchen727@126/ ]详细边界扫描结构及信号流程参考图1。图1 中“TAPController”其实质上是一个状态机,它根据不同的操作指令能产生16个不同的状态,具体状态逻辑参考图2。从一个状态切换成另一个状态总是发生在TCK 的上升沿,由TMS

声明:《转 霍夫曼编码原理 霍夫曼编码实验报告》为网友她是最美的情话分享!如侵犯到您的合法权益请联系我们删除