Huffman

转自http://zwlforever.blog.163.com/blog/static/223325552007926114914512/

 计算Huffman编码表有以下四个步骤:

1)把信源X中的消息按出现的概率从大到小顺序排列。

2)把最后两个出现概率最小的消息分别赋予1和0或者0和1,并合成一个消息,从而使信源的消息数减少一个。

3)重复步骤二,直到信源的消息数最后合并为一个为止。

5、产生Huffman码要对原始数据扫描两遍,第一遍扫描要精确地统计出原始数据中每个值出现的频率,第二遍是建立Huffman树,并进行编码。Huffman编码是最优编码,效率很高,主要涉及到二叉树并遍历二叉树的算法,因此数据压缩和还原的速度都比较慢,但简单有效,因而应用比较广泛.

你可能感兴趣的:(算法)