ハフマン符号は、1952年にデビッド・ハフマンによって提案されたアルゴリズムで、可変長符号化(文字によってビット数が異なる符号化方式)の代表例です。具体的な符号の割り当ては、「ハフマン木」と呼ばれる木構造(二分木)を下から上へと構築することで決定されます。出現確率の低い記号から順にペアを作って合流させていき、最終的に1つの根にたどり着くように木を作ります。その後、根から葉(各記号)に向かって枝をたどる際に、左に進むなら「0」、右に進むなら「1」というようにビットを割り振ることで、自動的に出現確率が高い記号には短いビット列が、低い記号には長いビット列が割り当てられる仕組みになっています。この手法により、情報理論における限界に近い非常に効率的な圧縮が可能になります。
試験でのポイント