字符a、b、c、d、e出现的概率分别为:0.12,0.40,0.15,0.08,0.25,采用哈夫曼算法构造进行编码.
问题描述:
字符a、b、c、d、e出现的概率分别为:0.12,0.40,0.15,0.08,0.25,采用哈夫曼算法构造进行编码.
急
答
哈夫曼算法就是找到一个最优二叉树,使得其权值和最小.先将a b c d e的概率乘以100得12,4,15,8,25.将这几个数按从小到大的顺序排列一下,4,8,12,15,25.4+8=12,添加到这个序列里,将原来的4,8划去.12+12=24,添加到序列里,将原来的12,12划去,依次类推,15+24=39,39+25=64.故得到一个层次为4的哈夫曼树,按照左1右0编码(也可以左0右1)得 a:110 b:1111 c:10 d:1110 e:0