Re: [考题] 计算机概论 huffman 编码问题

楼主: WCFEI (大飞)   2014-07-26 12:16:45
※ 引述《jolinboyfrie (宇)》之铭言:
: 请教一下各位题目如下
: 在一个以英文字母 A、B、C、D、E 组成的档案里,各字母出现的次数分别为:A=250 次,
: B=1000 次,C=200 次,D=250 次,E=500 次。如利用 Huffman 编码(Huffman encoding),
: 则记录此档案 (不计算记录对应之 Huffman 树本身)共需要使用多少个位元(bits)?
: 答案4550
: 像这种题目他不是问我编出来是多少,而是问总共要多少bits要如何计算啊?
: 如果遇到2个频率是一样的时候该怎么处理阿?
: 谢谢
如题
画个图出来应该会比较好解题
如果频率一样 要假设是依据什么犯断方式来处理
假设如果一样的话依字母顺序来排(A>D)
但是这题没有问你编码多少
只问你是总共bits
所以频率一样是不影响答案的
画出来的huffman树应该是
2200
/ \
0/ \1
/ \
/ \
1000(B) 1200
/ \
0 / \1
/ \
/ \
500(E) 700
/ \
0/ \1
/ \
/ \
250(D) 450
/ \
0/ \1
/ \
/ \
200(C) 250(A)
符号 编码 位元数 次数
A 1111 4 250
B 0 1 1000
C 1110 4 200
D 110 3 250
E 10 2 500
总共编码=次数*位元数 250*4+1000*1+200*4+250*3+500*1=4550
作者: jolinboyfrie (宇)   2014-07-26 12:24:00
谢谢噢..我了解了,我不知道要怎么在这边画图,真的非

Links booklink

Contact Us: admin [ a t ] ucptt.com