问题
假定常用汉字有10000个,根据出现概率将他们分为50组,每组汉字的数量不同。第一组汉字出现频率最高,第二组为次高频率,以此类推,最后一组为最低频率。每组汉字出现的总概率都是1%左右,如何用10个数字,设计这10000个字的编码,让平均码长最短。
思路
把最优质资源分配到使用频率最高的地方
方案
组的编码0组里汉字的编码0
把出现频率前10组用0~9编码,后40组用10~49编码.因为使用10进制编码,编码50组最多用2个数.所以优质资源是长度为1的编码,劣质资源是长度为2的编码.
组里的汉字按顺序编码即可,因为出现的概率相同.
使用2个0的目的是便于解码.