设字符集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