私はコンプレッサーを学び始めています。ジェネリックコンプレッサーの基本的な考え方は、辞書に類似のアイテムを導入して全体のサイズを減らすことです。言葉での例は次のようになります。等しい項目がない場合、コンプレッサーは機能しますか?
「私はoverflow.Iは、スタックオーバーフローで午前スタックにいる私は、スタックに オーバーフローしています私は、スタックオーバーフローで午前こんにちはスタックオーバーフローで午前私は です。。。。。私はスタックオーバーフローしています。スタックオーバーフローしています。 さようなら。
ので、辞書で、私たちは持っていると思います:
A: "私は、スタックオーバーフローにしています。"
AAAAHello.AAAABye.
全く同様の項目がない場合、コンプレッサは、サイズを小さくしますか?それとも類似のアイテムがないことさえ可能ですか?
文字列は、コンプレッサーの仕組みを説明するための単なる「方法」です。だから私は要素を求めている。出来ますか?または、想像してみてください: "abcdefghijklmnopqrstuvwxyz"は圧縮できません。それが私が意味することです、より大きな「コンセプト」です。 –
これらの26文字は、コード記述のオーバーヘッドのために、一般的なコンプレッサーによって圧縮される文字列が短すぎます。しかし、小文字のすべてのシーケンスを元のサイズの59%に圧縮する小文字用のコンプレッサーだけを書くことができます。小文字の長いシーケンス(例:繰り返される文字列を持たないいくつかのKバイトは、汎用コンプレッサでほぼ同程度に圧縮されます。 –