RBM压缩算法
一、为什么有了FOR压缩算法后还要使用RBM压缩算法
FOR压缩算法适用于间隔比较小的倒排表id,如1,2,3,5,8.......。间隔较小的数字在进行间隔相减的时候得出的结果也会比较小,这时在使用FOR压缩算法的时候能有效控制存储空间。
但是,假如遇到间隔较大的倒排表id,如1000,62101,131385,132052,191173,196658。这时如果使用FOR压缩算法得出的间隔值也会比较大,就显得不合理了。
二、RBM压缩算法
遇到这种间隔非常大的数字时,每个数字除以65536会得到一个除数和余数。除数为该数字变为二进制的前16位,余数为该数字变为二进制的后16位。
将除数和余数放到short类型的数组中,这里除数和余数是肯定不会重复的,因为倒排表中的id是不重复的。
作者:http://cnblogs.com/lyc-code/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权力。