LZ 77圧縮アルゴリズムを簡単に実現します.


ことばを引く
ハフマン符号化は大きなファイルの圧縮に対して大きな限界があり、圧縮比が十分に限られているので、LZ 77アルゴリズムに基づいて簡単な圧縮ライブラリを書くことにした.
構成
時間が比較的に緊迫しているため、現在最も基礎的なZIPアルゴリズムの編纂を完成しました.LZ 77アルゴリズム(スライドウィンドウ圧縮)によって圧縮ファイルを一つのデータ三元セットにしてから数字の出現の周波数に対してハーフマンアルゴリズムを行います.
能率
一般的なファイルの圧縮比は30%から40%に達することができます.繰返し性の高いファイルの圧縮比は10%から20%に達することができます.さらに低く、ハフマン符号化では大きなファイルを圧縮できないという欠点を克服しました.
足りない
データの3つのタプルを計算する時に、O(n 2)のシンプルなマッチングを使って、効率が予想以上に改善されないところを参考にして、LZ 4アルゴリズムを使ってマッチング時にハッシュを使って、時間の複雑さを減らすことができます.圧縮ライブラリなので、ついでに荷造り道具を書きたいですが、時間が期末に迫っています.
使用
全体はC+17を使用して、キー部分を作成してコメントを提供します.このフォルダをプロジェクトの中に置いて、「LZ-zip.h」を含んでください.
//        xxx.LZL-zip
g++ -std=c++17 test.cpp -o test
これはソースの住所です.https://github.com/Super-long/LZ-zip
参照https://www.cnblogs.com/esingchan/p/3958962.html