对于生成的字母表不是二进制的情况,是否有霍夫曼编码树的简单概括?例如,如果我想通过以三进制写出一些文本来压缩它,我仍然可以为我写出的每个字符建立一个无前缀的编码系统。霍夫曼构造的直接概括(使用 k 叉树而不是二叉树)是否仍能正确有效地工作?或者这种结构会导致编码方案效率极低吗?
该算法仍然有效,而且仍然很简单——事实上,维基百科有一个简短的参考n元霍夫曼编码 http://en.wikipedia.org/wiki/Huffman_coding#n-ary_Huffman_coding引用原始的霍夫曼论文作为来源。
不过,我确实想到,就像霍夫曼稍微次优一样,因为它为每个符号分配了整数个位数(与例如算术编码 http://en.wikipedia.org/wiki/Arithmetic_coding),三元霍夫曼应该有点more次优,因为它必须分配整数trits。这不是一个令人震惊的问题,尤其是对于只有 3 的情况,但它确实表明,随着 n 的增加,n 元霍夫曼将进一步落后于其他编码算法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)