3

我需要霍夫曼代码(最好在 python 或 java 中),它可以编码文本不是一个字符(a = 10, b = 11),而是两个(ab = 11, ag = 10)。是否有可能,如果是,我在哪里可以找到它,也许它在互联网的某个地方,我只能找到它?

4

3 回答 3

6

霍夫曼代码不关心字符,它关心符号。通常,它用于对字母/其他单个字符进行编码,但可以很容易地推广到对字符串进行编码。基本上,您只需采用现有实现并允许符号是字符串而不是字符。然后,叶节点将对应于字符串列表。

于 2010-05-22T14:40:34.920 回答
1

有一个 Huffman 编码器示例随 Python bitarray模块一起分发,如果这对您有用的话。

于 2010-05-22T14:57:28.413 回答
0

某处可能有一些代码。但这听起来像是一个解析和标记化问题。我要回答的第一个问题是您要处理多少对独特的配对。霍夫曼编码最适用于少量令牌。例如,键盘上的 101 个字符。但是,如果您的两个字符可以是任何字符,那么您现在正在大规模扩展字符的最大数量。

于 2010-05-22T14:43:03.957 回答