算法导论16.3-5
来源:互联网 发布:ubuntu的网卡配置文件 编辑:程序博客网 时间:2024/06/05 17:38
- 问题描述
证明:如果我们将字母表中字符按频率单调递减排序,那么存在一个最优编码,其码字长度是单调递增的。 - 问题分析
任务是证明存在一个码字长度单调递增的最优编码,那么如果可以从它的反例推出码字长度单调递增的编码是最优编码,则问题可以求证。 - 问题求解
①假设字母表为:{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) 。通过交换T 中ci 和cj 的编码,可以得到编码T′ 。T′ 中字母的频率和字码长度分别用f′ 和d′ 表示,则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′ 也是字母集的一个最优编码。
阅读全文
0 0
- 算法导论16.3-5
- 算法导论16.3-3
- 算法导论 2.3-5
- 算法导论7.4-5
- 算法导论 3.1-5
- 算法导论 3.2-5
- 算法导论 3-5
- 算法导论 4.1-5
- 算法导论 4.2-5
- 算法导论 4.3-5
- 算法导论 5.2-5
- 算法导论 5.3-5
- 算法导论7.4-5
- 算法导论7.4-5
- 算法导论(5)
- 算法导论16.2-5
- 算法导论 练习题 16.3-7
- 《算法导论》练习28.1-5
- mac版android studio新建项目或导入项目卡死
- 关于Windows下caffe-ssd编译需要修改的地方
- 文件及数据流技术(一)
- C# SuperWebSocket服务端、客户端学习(三)
- mongoDB高可用
- 算法导论16.3-5
- osgEarth矢量插值 8. feature_inline_geometry.earth
- 处理多维度变化——桥接模式(四)
- 前端自动化构建工具--gulp
- zookeeper(汇总)之脑裂
- solr 7.1.0中solrJ的使用
- flume报java.io.IOException: Not a data file的ERROR
- 三种方式:eclipse的maven项目使用本地磁盘或第三方的jar
- 如何用C++实现自己的Tensorflow