贪心不贪心,是设计者说了算,也就是说,什么情况下是贪心的选择,什么情况下不是贪心的选择,由设计者自己定义。比如公交线路的选择,最优可以指定为,1. 时间最短,也可以是,2. 最少换乘;
1. 活动选择问题(activity selection problem)
某公司的一间会议室,在同一天内,被多个部门预约(预约在不同的时间段),那么最多能选出几个?
解决此类问题的贪心算法应该从最早结束的会议开始选择;
- 在会议目录
S 中选取最先结束的会议Smin ; - 在会议目录
S 中删除与Smin 发生冲突的会议; - 重复上述两步直至
S 为空;