次の文字列をハフマン符号化することを考える。
eenymeenyminymoe
ハフマン符号化の過程で、作成される可能性があるハフマン木 (辺上の0と1は省略してある) として、最も不適切なものはどれか。
B
ハフマン符号は最も出現数の高い文字から順に
0 10 110 1110 ・・・ と符号化し、最も出現率の低い文字の最終ビットは1、次に出現率の低い文字の最終ビットを0として符号化する。
e: 5個
n: 3個
y: 3個
m: 3個
i: 1個
o: 1個
ハフマン木は、以下の手順で作成する。
(1) すべての記号の出現率 (出現数) を求める。
(2) 出現率 (出現数) の小さいもの同士で葉と節を作り、その節の2つの葉の出現率の和を求めて、新たな葉とする。
(3) (2)を繰り返す。
問題では、
(1) iとoで節を作る。
(2) (1)と、nかyかmとで節を作る。
(3) (2)で使わなかったnかyかmのうち、2つで節を作る。
この過程の (3) で、mとeの2つの葉が同じ節から作らることはなく、Bが不適切である。
V−1 | 目次 | V−3 |