使用散列的LZW压缩和字典实现

时间:2019-03-30 08:49:29

标签: hash compression lzw

我有一个长文本,必须使用LZW压缩算法进行压缩。我必须为ASCII字符序列分配16位代码。例如,“ aa”将具有16位代码“ 0000000010000000”(仅在“ DEL”之后可用,即0000000001111111)。现在在开始压缩之前,我必须初始化字典 'NUL':0000000000000000 'SOH':0000000000000001, 。 。 。 。 'DEL':0000000001111111。

我必须使用哈希来实现此字典。现在,我需要帮助来理解该声明,即如何使用哈希来实现字典。还请建议我做这项工作的哈希函数。旁注-我必须使用二次探测来处理碰撞。

1 个答案:

答案 0 :(得分:0)

LZW不需要冲突处理,因为它的字典哈希仅需要32 MB内存,而在2019年这不是问题。请参阅sparse array dictionary中的lzws