结构推理 已知某电文中共出现了10种不同的字母,每个字母出现的频率分别为A: 8 D:5,c:3,D:2,E:7,F: 23,G: 9,H:11,I:2,J: 35,现在对这段电文用三进制进行编码(即码字由O.1,2组成),问电文编码总长度至少有多少位,请画出相应的图。
【正确答案】有n个叶子结点的带权路径长度最短的二叉树称哈夫曼树,同理,存在有n个叶子结点的带权路径长度最短的3叉、4叉、… 、k叉树,也称为哈夫曼树。若叶子结点数不足以构成真正的k叉树(树中只有度为或0的结点),即不满足(n-1)MOD(k-1)=0,需要漆加权为O的结点,添加权为O的结点的个数为k-(m-1)MOD(k-1)-1.添加的位置应该是距离 根结点最远处。 每个字母的编码长度为对应叶子结点的深度li(其中根结点的深度为O),而电文的总长度为∑wi,wi为每种字母在电文中出现的次数。 根据上面的描进,相应的哈夫曼编码树如下图所示, 码长至少为。
【答案解析】