贪心
能采用贪心算法求最优解的问题,一般具有的重要性质为:最优子结构性质与贪心选择性质。
贪心选择性质是指问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来得到,这是贪心法和动态规划法的主要区别。
贪心法的求解过程:
- 把求解的问题分成若干个子问题
- 对每个子问题求解,得到子问题的局部最优解
- 把子问题的解局部最优解合成原来解问题的一个解
虽然贪心法每一步都能获得局部最优解,但由此产生的全局解有时不一定是最优的。
活动安排问题
设有n个活动的集合 E = { 1 , 2 , . . , n } E=\{ 1,2,..,n \} E={ 1,2,..,n},其中每个活动都要求使用同一资源,而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且 s i < f i si<fi si<fi。如果选择了活动i,则它在时间区间 [ s i , f i ] [si,fi] [si,fi]内占用资源。若区间 [ s i