応用情報技術者
基礎理論
ハフマン符号化の説明として、適切なものはどれか。
1.
出現頻度の高い文字には短い符号を、低い文字には長い符号を割り当てる。
✓ 正解
2.
固定長の符号を用いて、全ての文字を一律に数値化する。
3.
データの差分のみを記録することでデータ量を削減する。
4.
辞書に基づいて文字列を符号化する。
📝 解説
ハフマン符号化は「よく使う文字には短い符号、めったに使わない文字には長い符号を割り当てる」可逆圧縮アルゴリズムです。電話の短縮ダイヤルに例えると、毎日かける自宅には「1番」という短い番号、たまにしかかけない場所には「45番」という長い番号を割り当てる発想と同じです。出現頻度が高い文字ほど短い符号を使うことで、データ全体の平均符号長を最小化します。ハフマン木(二分木)を頻度の低いものから順に構築して符号を決定します。圧縮後に完全に元のデータへ戻せる「可逆圧縮」である点が特徴です。ZIP・gzip等の圧縮技術の基礎として使われています。誤答の「辞書ベースの符号化」はLZ法(LZWなど)の特徴です!