HuffMan编码树最优性证明分析及贪心算法安全性证明思路分析

本文深入分析了HuffMan编码树的最优性证明,结合引理16.2和16.3展示了其构造的树为何是最优。同时探讨了HuffMan算法的贪心选择性质,解释了如何从最小内部联合频率和编码高度角度证明其贪心选择的安全性。此外,文章还讨论了贪心选择安全性证明思路,以及最优子结构在贪心算法中的作用。对于贪心算法问题,作者提出最优子结构的必要性和充分性待进一步探究。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     本文主要是对算法导论16.3节 赫尔夫曼编码相关证明的分析梳理;

     另外,本文总结分析了贪心算法安全性证明的思路;

      编写日期,2019/1/19,20日掌握算法导论day10

 

  • 【证明之HuffMan算法构造的树是最优的证明】
    • 遮住底部所有叶结点和内部结点,只剩下树X1(高度为1的两个根的儿子和根)。利用引理16.2证明X1是最优的,然后利用引理16.3将树X1的左二子展开得到树X2,可知树X2是最优的,继续展开树X1的右儿子。。然后继续展开。。一直展开下去。。最终证明HuffMan的树是最优的。
  • [分析之HuffMan算法为什么是贪心选择】
    • 我们可以从如下两个角度去证明他是贪心的
      1. 设定目标之求解最小内部联合频率的角度去做选择(提示习题16.3-4)
      2. 直接从16.4式角度出发,我们希望最小的值高度最小,因此贪心地将最小的值放在最底部,最大的值放在最高部。。
  • 【定理16.2~16.4之间的关系】
    • 【引理16.2】证明贪心选择是安全的,而引理【16.3】证明了最优子结构从而使得我们贪心的选择可以将子问题缩小且子问题只有一个,并搭建尾递归算法。
  • 【结构与性能关联分析】
    • HuffMan编码的高效性决定于组成文件字符出现频率
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值