算法分析——第七周:贪心法

本文深入探讨了贪心算法,包括最优活动集的解决策略,按照活动截止时间排序选择最大相容活动集;最大装载问题的轻者优先解法,通过数学归纳法证明其最优性;以及最小延迟调度问题,证明了按要求完成时间排序的策略保证了最大延迟时间最小。此外,还讨论了币值问题的解决方案,强调了单位价值重量轻的货币优先原则。
摘要由CSDN通过智能技术生成

贪心算法

贪心法的证明方法:
第一数学归纳法和第二数学归纳法:
在这里插入图片描述
交换论证法:
在这里插入图片描述

最优活动集

输入:S = {1, 2, … , n} 为n 项活动的集合, si , fi 分别为活动 i 的开始和结束时间且活动i与j相容 si>fj 或sj<fi .
求:最大的两两相容的活动集 A
解法:贪心法,按活动截止时间排序后从最早开始时间出发,获得完成后选择下一个最近开始时间获得。
在这里插入图片描述
完成时间:time=f(j)
时间复杂度:O(nlogn)+O(n)

证明:
归纳基础:若只有一个活动,则最优活动集合一定是结束时间最小活动
设最优集为A,此时将A的第一个活动用 按结束时间排序后的第一个活动代替得到活动集合A‘。
因为A’成立也活动个数等于A,所以A‘也是最优活动集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值