我尝试了很多例子,并且无法理解为什么看似正确的FKG比简单的霍夫曼产生更高的平均长度。这是正常的吗?
在 aabcdad 上构建代码时,我们得到:
答案 0 :(得分:0)
我有一个答案。
如上所述,平均长度概念仅适用于经典的enodings。 由于霍夫曼(经典)是一个单射同态,自适应霍夫曼不是(同一个符号可以用多种方式编码),我们不能用这个概念来比较长度。
尽管如此,自适应霍夫曼有时可以输出更长的代码,理论上不可能比霍夫曼(经典)更好,它的更大优势只是一次传递数据,而且不需要存储整个树