具有重复字符串的数据的最佳无损压缩算法

时间:2018-04-03 06:59:36

标签: java algorithm object compression

我有一个压缩对象Aobj,其中包含一个Bobj对象列表。

Aobj = {
    someInt=123; someString = str;
    someList = [ 
       Bobj1 {key1=xyz,key2=345; };
       Bobj2 {key1=abc,key2=123; };
       Bobj3 {key1=dsd,key2=323; };
       ........
    ]
}

正如我们所见,这包含重复关键字key1,key2。对象Aobj的最佳压缩算法是什么?

标准 -

  1. 最短时间
  2. 最大压缩比
  3. 我唯一想知道的是我可以使用的各种压缩格式。 一旦我有一个方便的列表,列出了所有算法最适合这些对象的内容,我将对实现的时间和压缩比的精确度量进行实验。

1 个答案:

答案 0 :(得分:1)

您的最低时间和最大压缩标准存在冲突。所以你只需要尝试一堆压缩机,看看时间和压缩比的平衡会让你开心。 lz4将提供真正快速的压缩(以及极快的解压缩),但不是最佳的压缩比。 zlib将为您提供一系列选项,其中时间会增加,压缩大小会从1级降低到9级。LZMA会为您提供更好的压缩效果,但会花费更长时间并消耗更多内存。< / p>