任意のシンボルをビット文字列にエンコードしようとしていますが、それらを生成したり、それらを含むビット文字列をデコードしたりする方法がよくわかりません。
圧縮する任意のシンボルに取り組みたいのですが、一意にデコード可能なコードが探しているものなのか、おそらく算術コードなのか正規のハフマンコードなのかよくわかりません。
任意のサイズのシンボル テーブルについて、最も頻度の高いものから最も頻度の低いものまでを示すビット文字列のリストが必要なだけです。
任意のシンボルをビット文字列にエンコードしようとしていますが、それらを生成したり、それらを含むビット文字列をデコードしたりする方法がよくわかりません。
圧縮する任意のシンボルに取り組みたいのですが、一意にデコード可能なコードが探しているものなのか、おそらく算術コードなのか正規のハフマンコードなのかよくわかりません。
任意のサイズのシンボル テーブルについて、最も頻度の高いものから最も頻度の低いものまでを示すビット文字列のリストが必要なだけです。
エンコーディング:
出力: [度数表 + ビット列のシーケンス (端から端までまとめたもの)]
注意すべき重要なことは、これらのビット文字列のシーケンスは、後でそれら自体で直接分離できることです。つまり、[10010001] => {100, 1000, 1} とします (ほんの一例です)。
デコード:
データの再作成: