c++ - LZW压缩&字典

标签 c++ dictionary compression lzw

我正在研究在 C++ 中实现 LZW 压缩,但不确定最佳字典实现。

哈希表很有意义,但我不明白我如何能够“重新分配”值。如果表已满,我需要能够开始覆盖以前的(最旧的)多字符字典条目。哈希表需要我跟踪这些、找到它、删除它,然后插入新的。

有什么建议吗?

最佳答案

Unix compress utility (source code link)使用双重哈希和周期表清除。

如果您想要快速压缩和解压缩,那么有比 LZW 更好的选择, 已经过时了。您应该查看 zlib 中的快速 1 级压缩(可能已经在你的机器上),LZO , 和 lz4 .

除了教学或娱乐值(value)之外,没有理由编写新的 LZW 代码。它仅具有历史意义。您还可以研究压缩实用程序以获取此类说明和娱乐。

关于c++ - LZW压缩&字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11601596/

相关文章:

c++ - 为什么我的链接描述文件中的ENTRY()没有设置为。 = <地址>部分?

c++ - Linux 查找 glxext.h 函数的对象 -> 找不到正确的 .so -> "undefined reference"

c++ - 如何在 MPI 中 sleep

c++ - 在 Eclipse 中使用 C 库到 C++ 项目

.net - 如果使用 GZipStream 或 DeflateStream 压缩的数据比原始数据长怎么办?

dictionary - 如何防止将类型用作映射键?

python - 使用字符串作为Python字典(内存管理)

c# - 如何按键对字典进行排序

PHP - 在保持文件扩展名的同时压缩 txt 文件

javascript - JS 或 CSS 代码被 YUI 压缩器压缩两次有关系吗?