ハフマン符号とは?
ハフマン符号とは、出現頻度の高い記号ほど短いビット列を割り当てる可変長符号化方式。頻度の低い2つを繰り返しまとめて木を作ることで、平均符号長が最小になる符号を構成できる。
応用情報技術者試験の過去問では2回出題されています。
はふまんふごう
ハフマン符号の意味
出現頻度の高い記号ほど短いビット列を割り当てる可変長符号化方式。頻度の低い2つを繰り返しまとめて木を作ることで、平均符号長が最小になる符号を構成できる。
ハフマン符号の具体例
A:0.5、B:0.25、C:0.125、D:0.125のとき、A=0、B=10、C=110、D=111とすると平均符号長=0.5×1+0.25×2+0.125×3×2=1.75ビット。固定長2ビットより短い。
ハフマン符号は試験でどう引っ掛けられる?
圧縮効果は「平均符号長=Σ(出現確率×符号長)」で評価する。最短の符号長だけを見て判断しない。
ハフマン符号と関連する用語
ハフマン符号が出た過去問
符号化方式に関する記述のうち,ハフマン方式はどれか。
正解:発生確率が分かっている記号群を符号化したとき,1記号当たりの平均符号長が最小になるように割り当てる。
要点:ハフマン符号は出現確率に応じ平均符号長を最小化する可変長符号。
ハフマン方式は、各記号の出現確率が既知のときに、出現しやすい記号ほど短い符号を割り当てることで、1記号当たりの平均符号長を最小にする可変長符号化である。符号木を出現確率の小さいものから併合して構成するため、語頭符号(前置符号)となり復号も一意に行える。ZIPやJPEGなど多くの圧縮方式の内部で使われている。
出典:平成30年度 秋期 応用情報技術者試験 午前 問5(IPA)表は、文字A~Eを符号化したときのビット表記と、それぞれの文字の出現確率を表したものである。1文字当たりの平均ビット数は幾らか。
正解:1.8
要点:平均符号長は符号長と出現確率の積の総和で求める
平均ビット数は、各文字の符号長にその出現確率を掛けて合計した期待値として求める。0.5×1+0.3×2+0.1×3+0.05×4+0.05×4=0.5+0.6+0.3+0.2+0.2=1.8ビットとなる。出現頻度の高い文字ほど短い符号を割り当てるハフマン符号の考え方で、単純な3ビット固定長より効率が良いことが分かる。
出典:平成30年度 春期 応用情報技術者試験 午前 問2(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。