贪心算法不考虑整体最优,考虑局部最优,把问题分为几个子问题,求出子问题局部最优解,产生整体最优解或者是整体最优解的近似解。重要的两个特征:贪心选择性质和最优子结构。
活动安排问题是给活动集合中选出最好的活动子集合。
设计方案:首先,将活动按结束时间进行从小到大排序。其次,选出这些活动的最大的相容活动子集合。意思就是,挑选出结束时间尽量早的活动,并且满足后一个活动的起始时间晚于前一个活动的结束时间。然后,设定i,j为第几个活动。最后,检查活动i是否与当前已选择的所有活动相容。若相容活动i加入已选择活动的集合中,否则不选活动i,而继续比较下一活动与集合A中活动的相容性。若活动i与之相容,则i成为最近加入集合A的活动,并取代活动j的位置。
特点:贪心算法每次总能选择具有最早完成时间的相容活动到集合A。除了贪心算法还能用动态规划,但是效果没有贪心算法更快捷方便。