すべてのカテゴリ » 知識・教養・学問 » 知識・学問 » 数学・サイエンス

質問

終了

The world's most advanced operating system.

これをハフマン符号で符号化したら圧縮率はどのくらいになりますか?

  • 質問者:徳美エイ
  • 質問日時:2009-09-09 17:02:36
  • 0

元の文字列は22文字なので、1文字4bitあれば表現できます。
43文字あるので172bit必要です。
ハフマン符号で符号化すると183bit必要になるので、圧縮率は+6%となります。

文字数の割に文字の種類が多いので、符号化する方がデータ量は増えてしまいますね。

  • 回答者:ホイカ (質問から5時間後)
  • 0
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。
お礼コメント

どうもありがとうございます。

並び替え:

The world's most advanced operating system.

は、43文字で、各文字の個数とハフマン符号(1通りではないが)は、

「 」・・・5、100  (スペース)
「e」・・・4、000
「s」・・・4、1101
「t」・・・3、1100
「a」・・・3、1011
「o」・・・3、1010
「d」・・・3、0111
「n」・・・2、0110
「m」・・・2、11111
「r」・・・2、11101
「g」・・・1、01011
「c」・・・1、00100
「h」・・・1、00110
「l」・・・1、00101
「p」・・・1、01010
「v」・・・1、00111
「y」・・・1、01001
「'」・・・1、01000
「.」・・・1、111101
「i」・・・1、111100
「w」・・・1、111001
「T」・・・1、111000

となるので、変換後のビット数は136ビット。つまり23バイトとなるので、符号の
テーブルを含めなくていいなら、23/43の約53.5%の圧縮になります。

===補足===
記述にミスです。

誤: 「変換後のビット数は136ビット」

正: 「変換後のビット数は183ビット」

この回答の満足度
  
回答ありがとうございました。
お礼コメント

よくわからないので教えてください。
23/43は何のためにやっているのででしょうか?
23は23byteで、43は43文字ですよね?
23byte/43文字で何が分かるのでしょうか?

補足
削除して再回答して頂ける様に満足度を設定しなかったのですが、その後何のアクションもなかったです。
他の質問胃は回答されている様ですし、私のコメントに答える気がなかったものと受け取りました。

関連する質問・相談

Sooda!からのお知らせ

一覧を見る