一、动态规划概述
#
1. 动态规划定义
#
2. 动态规划思想
#
3. 适用问题特征
#
二、最优子结构
#
1. 最优子结构定义
#
2. 最优子结构性质
#
3. 最优子结构识别方法
#
4. 最优子结构证明
#
三、重叠子问题
#
1. 重叠子问题定义
#
2. 重叠子问题特征
#
3. 重叠子问题识别
#
4. 重叠子问题与分治算法对比
#
四、状态定义
#
1. 状态概念
#
2. 状态表示方法
#
3. 状态空间设计
#
4. 状态转移基础
#
五、状态转移方程
#
1. 状态转移方程定义
#
2. 状态转移方程建立
#
3. 状态转移方程类型
#
4. 状态转移方程求解
#
六、边界条件
#
1. 边界条件概念
#
2. 边界条件确定
#
3. 边界条件处理
#
4. 边界条件与初始状态
#
七、动态规划实现方式
#
1. 自顶向下方法
#
2. 自底向上方法
#
3. 记忆化搜索
#
4. 迭代实现
#
八、时间复杂度分析
#
1. 时间复杂度计算
#
2. 空间复杂度分析
#
3. 优化方法
#
4. 复杂度与问题规模关系
#
九、空间优化技术
#
1. 滚动数组
#
2. 状态压缩
#
3. 降维优化
#
4. 内存管理
#
十、经典动态规划问题
#
1. 背包问题
#
2. 最长公共子序列
#
3. 最短路径问题
#
4. 编辑距离问题
#
十一、动态规划应用领域
#
1. 组合优化
#
2. 序列分析
#
3. 图论问题
#
4. 资源分配
#
十二、动态规划与其他算法比较
#
1. 与贪心算法对比
#
2. 与分治算法对比
#
3. 与回溯算法对比
#
4. 算法选择策略
#