互不相同正整数的压缩算法:分页式多比特流

先记着,等实现完毕后再写
测试表明:压缩比跟数据特征有关
有的能达到170,有的只能达到18

不管怎么样,满足开发要求了


分页
将整数按照65536进行分组,每组叫做一个页面,压缩处理都在此页面内进行;
好处:4字节的整数全变成2字节的short了

多比特流
将每个页面再次按照一定长度进行分块
base:此块的基数
bits:此块内整数的比特流,1表示对应整数存在,0表示不存在
gate:bits中每固定个数个bit记作一个单元,此单元的bit全部为0,那么gate中对应的单个bit为0,否则为1
bits压缩:将全部为0的单元删除;

合并缓冲区
最终,将上述三类数据分别编码到各自内存中,然后最终合并到此页面对应的内存中,再次将多个页面的内存进行合并即可;

原文地址:https://www.cnblogs.com/dhqcl/p/7527675.html