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是不重复的。

posted @ 2022-02-08 18:57  showMeTheCodes  阅读(231)  评论(0编辑  收藏  举报