哈夫曼编码、3/3/3扩展编码,并计算这2种编码的平均码长
1个回答
关注
展开全部
假设用于通信的电文由字符集{a,b,c,d,e,f,g,h}中的字母构成,这8个字母在电文中出现的概率分别为{0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10}。
哈夫曼编码 根据上面可得编码表: a:1001 b:01 c:10111 d:1010 e:11 f:10110 g:00 h:1000
用三位二进行数进行的等长编码平均长度为3,而根据哈夫曼树编码的平均码长为:4*0.07+2*0.19+5*0.02+4*0.06+2*0.32+5*0.03+2*0.21+4*0.10=2.61 2.61/3=0.87=87%其平均码长是等长码的87%,所以平均压缩率为13%。
因为定长编码已经用相同的位数这个条件保证了任一个字符的编码都不会成为其它编码的前缀,所以这种情况只会出现在变长编码当中,要想避免这种情况,
就必须用一个条件来制约定长编码,这个条件就是要想成为压缩编码,变长编码就必须是前缀编码,所谓的前缀编码就是任何一个字符的编码都不能是另一个字符编码的前缀。
咨询记录 · 回答于2021-10-27
哈夫曼编码、3/3/3扩展编码,并计算这2种编码的平均码长
b的概率是0.6,a和c的概率都是0.2。构造Huffman树,可以将a和c编码为10和11,而b编码为0。b的码长为1,a和c的码长为2,将其与各自的概率相乘之后再求和:1x0.6+2x0.2+2x0.2=1.4,所以平均码长为1.4位
3/3/3扩展编码怎么算的
b的概率是0.6,a和c的概率都是0.2。构造Huffman树,可以将a和c编码为10和11,而b编码为0。b的码长为1,a和c的码长为2,将其与各自的概率相乘之后再求和:1x0.6+2x0.2+2x0.2=1.4,所以平均码长为1.4位
亲亲,这样滴
这是huffman编码,3/3/3扩展编码呢
假设用于通信的电文由字符集{a,b,c,d,e,f,g,h}中的字母构成,这8个字母在电文中出现的概率分别为{0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10}。哈夫曼编码 根据上面可得编码表: a:1001 b:01 c:10111 d:1010 e:11 f:10110 g:00 h:1000用三位二进行数进行的等长编码平均长度为3,而根据哈夫曼树编码的平均码长为:4*0.07+2*0.19+5*0.02+4*0.06+2*0.32+5*0.03+2*0.21+4*0.10=2.61 2.61/3=0.87=87%其平均码长是等长码的87%,所以平均压缩率为13%。因为定长编码已经用相同的位数这个条件保证了任一个字符的编码都不会成为其它编码的前缀,所以这种情况只会出现在变长编码当中,要想避免这种情况,就必须用一个条件来制约定长编码,这个条件就是要想成为压缩编码,变长编码就必须是前缀编码,所谓的前缀编码就是任何一个字符的编码都不能是另一个字符编码的前缀。
已赞过
评论
收起
你对这个回答的评价是?