《计算之魂》思考题3.5 思考题 Q1

问题

假定常用汉字有10000个,根据出现概率将他们分为50组,每组汉字的数量不同。第一组汉字出现频率最高,第二组为次高频率,以此类推,最后一组为最低频率。每组汉字出现的总概率都是1%左右,如何用10个数字,设计这10000个字的编码,让平均码长最短。

思路

把最优质资源分配到使用频率最高的地方

方案

组的编码0组里汉字的编码0

把出现频率前10组用0~9编码,后40组用10~49编码.因为使用10进制编码,编码50组最多用2个数.所以优质资源是长度为1的编码,劣质资源是长度为2的编码.

组里的汉字按顺序编码即可,因为出现的概率相同.

使用2个0的目的是便于解码.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值