HuffmanCode每个字符的可变位长度

时间:2014-01-16 10:05:37

标签: bit huffman-code

有没有办法在不绘制霍夫曼树的情况下找到每个角色的“位数”? 换句话说,有没有办法通过字符的“频率”或“概率”找到字符的代码长度?

注意:我想使用“可变长度代码”。 请解释使用以下句子:

“这是一个霍夫曼树的例子” 例如,“a”霍夫曼代码有3位长度。

以下网站有霍夫曼树,霍夫曼代码和这句话的频率: http://en.wikipedia.org/wiki/Huffman_coding

1 个答案:

答案 0 :(得分:0)

您可以计算一组符号中每个符号的粗略零阶熵。给定符号集合a_i,其中每个符号的概率是p_i(因此p_i的和是1),则a_i的比特的熵是-log2(p_i),其中log2是对数基数2。以位为单位的符号的平均熵是-p_i log2(p_i)的i之和。

这粗略估计了你从霍夫曼得到的东西或那些符号的算术零阶编码。估计将提供一个下界,霍夫曼和算术都不会因估计而达到界限,而在霍夫曼的情况下,代码仅限于一点的分辨率。