【发布时间】:2014-02-18 11:59:23
【问题描述】:
我不是询问霍夫曼编码是如何工作的,而是我想知道为什么它是好的。
我有以下两个问题:
第一季度
我理解霍夫曼编码的最终目的是为某些字符提供更少的位数,从而节省空间。我不明白的是为什么一个char的位数决定与char的频率有关?
有时使用可变长度代码是有利的,其中 不同的符号可以用不同的位数来表示。为了 例如,摩尔斯电码不使用相同数量的点和破折号 对于字母表中的每个字母。特别是 E,最常见的 字母,用一个点表示。
所以在摩尔斯电码中,E 可以用一个点来表示,因为它是最常见的字母。但为什么?为什么它是一个点,因为它是最频繁的?
第二季度
为什么字符的概率/统计对霍夫曼编码如此重要?
如果统计表有误怎么办?
【问题讨论】:
-
请参阅stackoverflow.com/questions/2199383/… 以获得关于应用霍夫曼代码的答案
-
这个问题似乎离题了,因为它是一个更具概念性的问题,应该在programmers.stackexchange.com。
-
对这个问题的一个好的回答不会涉及太多的编程方式,而且这个问题是题外话。我认为维基百科文章 (en.wikipedia.org/wiki/Huffman_code) 为您的问题提供了答案。
标签: algorithm data-structures huffman-code