贪心算法一定能得到最优解的证明
按照老师说法是 分为三步:
- 证明总存在一个以贪心选择开始的最优解。
- 此问题具有最优子结构的性质。
- 用数学归纳法,总结得到结论。
以活动安排为例,首先,我们按照按照活动结束时间非递增排序,即从小到大得到一个序列 E{1、2、…、n),我们可以知道1这个活动是一定会被选到的,因为他的结束时间最早,我们可以有更多的时间去观看其他比赛。
假设具有一个最优解A,且A中的活动安排也是按照活动的结束时间非递增排序,即从小到大排序的,且他的第一个活动为K,这时候我们就需要重点比较K和1的关系了;
如果K = 1:我们就可以知道A就是满足以贪心选择开始的一个最优解,所以证明的结束了;这个就满足了第一个要求;
如果K != 1:我们就需要设一个解为B,这个B不包含A中的K这个活动,但是他包含