算法导论16.3-5

  • 问题描述
    证明:如果我们将字母表中字符按频率单调递减排序,那么存在一个最优编码,其码字长度是单调递增的。
  • 问题分析
    任务是证明存在一个码字长度单调递增的最优编码,那么如果可以从它的反例推出码字长度单调递增的编码是最优编码,则问题可以求证。
  • 问题求解
    ①假设字母表为:{c1,c2,...cn},字母出现的频率用f表示,字母对应的码字长度用d表示。则用数学的语言描述待证明的问题是:如果f(c1)f(c2)...f(cn),那么存在最优编码使得d(c1)d(c2)...d(cn)
    ②假设在字母集的一个最优编码T中,存在i<j,f(ci)f(cj)d(ci)>d(cj)。通过交换Tcicj的编码,可以得到编码TT中字母的频率和字码长度分别用fd表示,则f(ci)f(cj)d(ci)<d(cj)。则
    B(T)B(T)=k=1nf(ck)(d(ck)d(ck))=f(ci)[d(ci)d(ci)]+f(cj)[d(cj)d(cj)]=f(ci)[d(ci)d(cj)]+f(cj)[d(cj)d(ci)]=[f(ci)f(cj)][d(ci)d(cj)]0

    因此B(T)B(T)。由于T是字母集的一个最优编码,所以T也是字母集的一个最优编码。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值