1. 程式人生 > >互不相同正整數的壓縮算法:分頁式多比特流

互不相同正整數的壓縮算法:分頁式多比特流

內存 字節 存在 要求 滿足 全部 不存在 處理 行合並

先記著,等實現完畢後再寫
測試表明:壓縮比跟數據特征有關
有的能達到170,有的只能達到18

不管怎麽樣,滿足開發要求了


分頁
將整數按照65536進行分組,每組叫做一個頁面,壓縮處理都在此頁面內進行;
好處:4字節的整數全變成2字節的short了

多比特流
將每個頁面再次按照一定長度進行分塊
base:此塊的基數
bits:此塊內整數的比特流,1表示對應整數存在,0表示不存在
gate:bits中每固定個數個bit記作一個單元,此單元的bit全部為0,那麽gate中對應的單個bit為0,否則為1
bits壓縮:將全部為0的單元刪除;

合並緩沖區
最終,將上述三類數據分別編碼到各自內存中,然後最終合並到此頁面對應的內存中,再次將多個頁面的內存進行合並即可;

互不相同正整數的壓縮算法:分頁式多比特流