問題
a、b、c、d の 4 文字から成るメッセージを符号化してビット列にする方法として表のア〜エの 4 通りを考えた。この表は a、b、c、d の各 1 文字を符号化するときのビット列を表している。メッセージ中での a、b、c、d の出現頻度は、それぞれ 50%、30%、10%、10%であることが分かっている。符号化されたビット列から元のメッセージが一意に復号可能であって、ビット列の長さが最も短くなるものはどれか。

選択肢
- 1a:0 b:1 c:00 d:11
- 2a:0 b:01 c:10 d:11
- 3a:0 b:10 c:110 d:111
- 4a:00 b:01 c:10 d:11
正解
3. a:0 b:10 c:110 d:111
詳しい解説を見る解説を閉じる
解説
まず一意に復号できる(接頭符号である)条件を満たすかを確認する。アは 0 と 00 が、イは 0 が他の符号の接頭辞になり一意復号できない。ウは 0、10、110、111 でどれも他の接頭辞にならず一意復号可能で、エも固定長 2 ビットで復号可能である。平均長はウが 0.5×1+0.3×2+0.1×3+0.1×3=1.7 ビット、エは一律 2 ビットなので、出現頻度に応じて短い符号を割り当てたウが最短になる。よってウが正解。(出典: 令和2年度 秋期 応用情報技術者試験 午前 問4)
一問一答
全400問を繰り返し学習