霍夫曼代码长度

时间:2016-06-01 13:48:44

标签: hashtable huffman-code

我想构建一个霍夫曼树,并根据频率为所有255个字节值分配代码。但对于我的应用程序,我需要一个哈希表来获取恒定时间内的字节代码。但在最坏的情况下,树可能是如此不平衡,以至于某些字节具有非常大的密钥(甚至254位长)。因此,维护哈希表非常困难。代码需要高性能,因此将它们作为字符串进行处理将无法正常工作。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

为什么需要256个值的哈希表?只需要一个256条目表,您可以直接索引每个字节的代码。

每个代码最多32个字节,因此只需要一个包含256个条目的表,每个条目的固定数量为每个条目33个字节。 8448字节。 33的第一个字节是以位为单位的代码长度,剩下的字节是代码,其中每个字节只使用必需的位数。