贪心法满足条件:
1.贪心选择性
2.优化子结构
输入:S={1,2,……,n}个任务,F={[Si ,f i]},为任务的开始时间和结束时间
**输出:**S的最大相容集合(也就是如何选择任务,才能执行最多的任务?)
贪心思想:
为了选择最多的相容活动,每次选fi最小的活动,也就是结束时间最小的活动,使我们能够余下更多的时间选择更多的活动。
算法伪代码:
贪心-Activity-Selector(S,F)
n ← lenyth{
1};
A ← {
1}
j ← 1
For i←2 To n Do
if si>=fj
Then A←AU{i};j←i;
Return A
算法复杂度分析:
如果结束时间已经排序
T