贪心算法之相容问题
1.问题
有n项活动申请使用同一个礼堂,每项活动有一个开始时间和一个截止时间。如果任何两个活动不能同时进行,问如何选择这些活动,从而使得被安排的活动数量达到最多。
2.解析
贪心策略1:活动按结束时间进行升序排序
选择活动:1,4,8 最多数量:3
最优策略
贪心策略2:活动按开始时间进行升序排序
选择活动:1,5 最多数量:2
不是最优策略
贪心策略3:按活动占用时间进行升序排序
选择活动:1,2,8 最多数量:3
不是最优策略
反例:
若用贪心策略3:
选择活动:1,3 最多数量:2
而使用最优策略:
选择活动:1,2,3 最多数量:3
3.设计
4.分析
时间复杂度:O(nlogn)