设字符集D={A,B,C,D,E},各字符使用频率W={10,2,5,6,4},画出对字符进行哈夫曼编码时所对应的哈夫曼树,并给出各字符的编码.是不是只有一种可能

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 06:33:21
设字符集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},画出对字符进行哈夫曼编码时所对应的哈夫曼树,并给出各字符的编码.是不是只有一种可能

设字符集D={A,B,C,D,E},各字符使用频率W={10,2,5,6,4},画出对字符进行哈夫曼编码时所对应的哈夫曼树,并给出各字符的编码.是不是只有一种可能
频率是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