好きな文字でやってみよう
入力した文字列から文字の出現回数を自動計算してゲームを開始します。
ルール: 出現回数(数字)が最も少ないノードを2つ選んで結合していこう。
なぜ小さい順に結合するの?
ハフマン符号は「出現頻度が高い文字には短いビット列を割り当てる」ことでデータを圧縮します。
木の下の方(根から遠い場所)にある文字ほど、長いビット列になります。
出現頻度が低い文字を先に結合して木の下の方に追いやることで、結果的に出現頻度が高い文字が木の根元近く(短いビット列)に残るようになるのです。これが「貪欲法」と呼ばれるアルゴリズムの考え方です。