HOME»基本情報技術者試験掲示板»ハフマン符号(H30.秋) 
投稿する

ハフマン符号(H30.秋)  [5793]

 momoさん(No.1) 
H30 秋の ハフマン符号の問題で質問です。

解答は、a=110(文字D 出現度%) です。

ただ、Eの符号110と"11"の部分が被りますが、
なぜ110は問題ないのか気になります。

001は、00と被るのでNG
010は、01と被るのでNG
101は、10と被るのでNG
となり、これは理解できます。
2025.02.10 13:33
とくめいきぼうさん(No.2) 
「11」の時点では完全一致するものがないためです。

ほかの選択肢は2ケタの時点で、その2ケタが完全一致するものがあります。
たとえば、選択肢アが回答の場合、
A+Dは「00+001」ですが、「00」をAと読んだあと、2回目の「00」もAと読んでしまいます。これは、00=Aと完全一致しているためです。

一方、回答通りD=110の場合、
D+Eは「110111」です。
「11」まで読んでも特定できる文字列がないので、「110」まで読んでDと特定します。次の「11」も同様に読めないので3桁目含めた「111」まで読んでEと判定します。
2025.02.10 13:48
jjon-comさん(No.3) 
FE プラチナマイスター
基本情報 平成30年 秋期 午前 問4
https://www.fe-siken.com/kakomon/30_aki/q4.html

> 解答は、a=110(文字D 出現度%) です。
> ただ、Eの符号110と"11"の部分が被りますが、
> なぜ110は問題ないのか気になります。

この問いのハフマン表には 11 という符号(11 という2bitに対応する文字)は存在しないから。
(No.2 で解説のあった、「11」の時点では完全一致するものがないため、と同じです)

同じことを別の例で言い換えてみます。

'A' は 00 で、'B' は 01 です。
先頭の 0 の部分が被りますがなぜ問題ないのか。
それは、この問いのハフマン表には 0 という符号(0 という1bitに対応する文字)は存在しないから。

この問いのハフマン表をハフマン木で表すと次のようになります。
イラストが描けないので、左が根側、右が葉側の2分木を次のように表してみました。文字位置がずれるようなら等幅フォントのテキストエディタなどに貼り付けてください。
+ー+ー+
|0|0|  ='A'
| +ー+
| |1|  ='B'
+ー+ー+
|1|0|  ='C'
| +ー+ー+
| |1|0|='D'
| | +ー+
| | |1|='E'
+ー+ー+ー+
2025.02.10 16:05
 momoさん(No.4) 
お二方、解説ありがとうございます!

お二人の解説で理解深めることが
できました。

要素数が違うので、3桁まで読み込まないと特定できないので110は対象外になるのですね。

ありがとうございました。
2025.02.17 14:31
返信投稿用フォーム
お名前
顔アイコン

本文(コミュニティガイドライン⇱を順守して適切な投稿を心がけましょう)
🔐投稿削除用のパスワード(任意)
投稿プレビュー
※CBT試験では出題内容の公開が禁止されているため、直接的・間接的を問わず、出題内容や難易度を尋ねる質問は厳禁です。
※宣伝や迷惑行為を防止するため、当サイト、姉妹サイト、IPAサイト以外のURLを含む文章の投稿はできません。
投稿記事削除用フォーム
投稿No. パスワード 
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop