设字符集D={A,B,C,D,E},各字符使用频率W={10,2,5,6,4},画出对字符进行哈夫曼编码时所对应的哈夫
设字符集D={A,B,C,D,E},各字符使用频率W={10,2,5,6,4},画出对字符进行哈夫曼编码时所对应的哈夫曼树,并给出各字符的编码。是不是只有一种可能...
设字符集D={A,B,C,D,E},各字符使用频率W={10,2,5,6,4},画出对字符进行哈夫曼编码时所对应的哈夫曼树,并给出各字符的编码。 是不是只有一种可能
展开
1个回答
展开全部
频率是W={10,2,5,6,4},你可以根据这个算出每个符号的使用概率。Huffman编码的基本思想就是:对于使用频率比较高的符号用较短的码字去编码,对于使用频率比较低的符号用较长的码字去编码,这样使得编码效率很高,即所编的码字的平均每个比特所携带的信息量较大。
A的概率:10/27 (编码为:11)
B的概率:2/27 (编码为:101)
C的概率:5/27 (编码为:01)
D的概率:6/27 (编码为:00)
E的概率:4/27 (编码为:100)
编码的具体规则是:每次找概率最小的两个符号合并,若同时出现多个最小的概率,那就随便合并(其实具体工程应用是不能随便合并的,因为这个涉及到最后编码完成后,码字长度的方差问题,工程上方差要尽可能小,初学者可不拘泥于此)
具体看我给你做的PPT
还有就是你问的:是不是只有一种可能。回答是无论如何都肯定不是只有一种可能的,构造好Huffman树后,在树枝上赋值0和1,这个是随便赋的,为了简便和一致,图中左侧树枝都赋值为1,右侧为0
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询