标签:自底向上 规模 示例 构造 迭代 常用 依赖 包含 分解
1、动态规划与分治法的相似点:都是将待求问题分解成若干个子问题,先求解出这些子问题,然后从子问题的解得到原问题的解
不同点:适合用动态规划求解的问题,经分解得到的子问题一般不是互相独立的。
2、动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中可能有许多可行解,每一个解都对应一个值,希望找到具有最优值的解。
3、动态规划算法的有效性依赖于最优子结构 和 子问题重叠
最优子结构 指的是问题的最优解 包含了 其子问题的最优解,使得程序能以自底向上的方式递推地从子问题的最优解逐步 构造出 整个问题的最优解
子问题重叠 指的是对某些子问题重复求解多次,动态规划能存储这些解。
4、解决动态规划的问题的手段:
第一:递归:先自上到底 再 自底到上 优势:正着由大规模问题推向小规模问题,容易想 劣势:但是效率低。
第二:迭代递推: 直接自底向上 优势 效率高 劣势:不好想
示例:最大子段和
标签:自底向上 规模 示例 构造 迭代 常用 依赖 包含 分解
原文地址:http://www.cnblogs.com/wshyj/p/6340194.html