算法笔记: 动态规划: 解决的问题: 最优子结构,子问题最优性求最优解的问题重叠子问题 形式: 记忆型递归递推 核心: 找到状态转移的方式,写出dp方程。找依赖关系,当前问题依赖于子问题的解。依赖取决于你将问题怎样去划分。先求被依赖的数据。 贪心算法: 解决的问题: 最优子结构,子问题最优性求最优解问题是动态规划的特例 核心: 找到贪心的策略——一般是对某一属性进行排序 动态规划与贪心的区别: 贪心只要保留上一步的结果就能找到最优解;动态规划则需要保留所有历史数据(上面所有步骤的结果),才能找到最优解(一般是用max,min函数等取最值)。