动态规划
- 步骤
- 秒速最优解的结构
- 地规定以最优解的值
- 自底向上的计算最优解
- 由计算结果构造最优解
- 装配线调度
- 最快路线的结构
- 一个问题额最优解包含了子问题的一个最优解:即最优子结构
- 递归解
- 最快路线的结构
- 矩阵链乘
- 动态规划
- 最优子结构:问题的最优解包含了子问题的最优解,即具有最优子结构
- 剪切发证明子问题的最优解课推导出问题最优解,如果不是子问题最优解,则剪贴子问题最优解
- 重叠子问题:求解原问题过程中多次求解一个子问题,则存在重叠子问题
- 备忘录:遇到的子问题未曾遇到则求解并存储,再次遇到时不必重复计算
- 最长公共子序列
- 最长公共子序列结构
- 最长公共子序列结构
- 最优二叉查找树:期望查找代价最小
- 最优二叉查找树必然具有最优子结构
- 求解最优二叉查找树,必然先求自述的最优二叉查找子结构
贪心(最小生成树,单源最短路径)
确定最优子结构,设计递归解,确定最优选择之一是贪心解,证明贪心选择后,只余一个子问题,设计贪心递归,递归算法转为迭代算法
- 贪心要素:贪心选择性质和最优子结构
- 贪心选择性质:全局最优解和通过局部最优(贪心)达到
- 最优子结构:问题的最优解包含了子问题的最优解,即具有最优子结构
- 贪心理论
平摊分析
- 聚集分析:n个操作的全部时间平均到n个操作中去
- 计算多个操作的总代价,然后平均到一次操作
- 记账方法
- 总的平摊代价不能为负,保证平摊代价是总的代价的上界
- 势能方法
- 动态表
- 表扩张
- 聚集分析
- 记账方法
- 聚集分析
- 表扩张