通話記録の長いリストにuser_idsをエンコードしようとしています。これらのレコードの中で最もスペースを占める部分は、発信者と受信者のシンボルです。最もアクティブな発信者に短い記号を割り当てるマップを作成します---これにより、ファイルの全体的なサイズ(したがってI / O時間)を抑えることができます。
各シンボルが何回使用されるかを事前に知っています---言い換えれば、相対的な確率分布を知っています。さらに、生成されるコードがハフマンコードのように「プレフィックスフリー」であることが重要ではありません。では、最高のエンコーディングスキーム、つまり、最も圧縮率が高く、迅速な実装が存在するものは何でしょうか。
答えは、圧縮スキームを指すだけでなく、そのエンコーディングスキームの実装も指す必要があります。