动态规划和贪心算法
动态规划的基本要素
- 分析最优子结构
- 设计最优子结构的递推函数
- 求解子问题,对每个子问题只接一次,而后将其解保存在表格中,当再次需要解此子问题时,只是查看一下结果,即重叠子问题。
- 构造最优解:通常采用自底向上的方法
贪心算法要素
①贪心选择:所求问题的整体最优解可以通过一系列局部最优的选择即贪心选择来达到。
②最优子结构性质:指一个问题的最优解包含其子问题的最优解。
共同点:两者都要求问题具有最优子结构性质。
不同点:动态规划通常以自底向上的方法解各子问题,而贪心算法则通常以自顶向下的方式进行,以迭代的方式做出相继的贪心选择,每做一次贪心选择就将所求问题简化为规模更小的子问题。