我需要霍夫曼代码(最好是在python或java中),它可以编码文本而不是一个字符(a = 10, b = 11)
,而是两个(ab = 11, ag = 10)
。是否有可能,如果是的话,我在哪里可以找到它,也许它在互联网的某个地方,我就能找到它?
答案 0 :(得分:5)
霍夫曼代码不关心字符,它关心符号。通常,它用于编码字母/其他单个字符,但可以非常容易地推广以编码字符串。基本上,您只需要一个现有的实现,并允许符号是字符串而不是字符。然后,叶节点将对应于字符串列表。
答案 1 :(得分:1)
有一个与Python bitarray模块一起分发的Huffman编码器示例,如果这对你有用的话。
答案 2 :(得分:0)
某处可能有一些代码。但这听起来像是一个解析和标记问题。我要回答的第一个问题之一是你要处理多少个独特的对。霍夫曼编码最适用于少量令牌。例如,键盘上的101个字符。但是如果你的两个角色可以是任何东西,那么你现在正在大量扩展最大字符数。