核心性质
- 最优子结构
规模较大的问题的解由规模较小的子问题的解组成 - 无后效性
后面阶段的求解不会修改前面阶段已经计算好的结果 - 贪心选择性质
从局部最优解可以得到全局最优解——每一步都做出局部最优的选择,从而全局最优
个人理解,一个选择标准,比如背包问题中,选择单位价值最大的是一种贪心选择;选择价值最大的也是一种贪心选择;
选择标准不同,也就有不同贪心算法;故有时贪心算法可能无法获得最优解 - 概述
- 动态规划的特例(需要更多条件)
- 算法复杂度
- 暴力解法(指数级)——>动态规划(多项式级-解决重叠子问题)——>贪心算法(线性级,缩减子问题)
- 经典问题
- 区间调度问题 Interval Scheduling/活动选择问题
- 描述:区间集中有[start, end]的区间,求最多有几个互不相交的区间及分别是哪些区间;类似有一个活动基,每个活动有开始时间和结束时间,一个人不能同时参加两个活动(活动互不相交),求最多参加几个活动
- 贪心算法思路
- 435. 无重叠区间 - 力扣(LeetCode) (leetcode-cn.com)
- 区间调度问题 Interval Scheduling/活动选择问题