我想要随机数列表的最佳压缩算法。
列表示例:
224.19
225.57
226.09
222.74
222.20
222.11
223.14
540.56
538.96
540.14
540.44
336.45
338.47
340.78
156.73
160.02
158.56
156.23
55.08
56.33
54.88
53.45
我可以跳过小数部分。就像上面给出的示例一样,我有大量的数字列表,这就是为什么需要压缩它的原因。
你能推荐一些东西吗?
最佳答案
不要使用 float ,如果需要,请使用带有某种控制字符的整数来表示小数点,但如果可以跳过它,那就更好了。
看看Variable byte encodings .它的优点是您不需要为小整数分配 64 位内存。
如果您的数字之间存在某种依赖关系,您可以查看 Delta encoding - 它存储两个数字之间的差异而不是数字本身。
谷歌和任何其他与搜索引擎打交道的公司都使用可变字节编码和增量编码作为压缩倒排列表索引的核心方法。
关于algorithm - 什么是整数的最佳压缩算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17210642/