动态规划基础
来源:互联网 发布:sql是结构化语言吗 编辑:程序博客网 时间:2024/06/03 18:22
动态规划:
要用动态规划算法来处理问题需要有2个重要的性质
一、最优子结构:
我们要求解某一问题时,求解该问题也包含求解该问题的最优子问题,这样,我们自底向上的先求子问题,原问题就能够容易求解了。
二、子问题重复:
可能有多个子问题被重复求解,这样算法的时间将会达到O(2^N),而我们用一个表格来存储求解过的子问题,这样在求解问题时,先查找是否子问题被求解过,如果求解过,
我们就用线性时间查找到子问题的解,这样就不会重复求解子问题了,从而使时间达到O(n^2);
备忘录算法:
备忘录算法是动态规划的变形,与动态规划类似的,它是建立一个表格(备忘录),用来存储已经求解过的子问题,在需要时查找就行了,也是避免重复求解子问题,与动态规划不同的是,备忘录算法是自顶向下求解的,而且它并不是对每一个子问题都求解,它仅仅是对求解原问题需要利用的子问题求解。反之,动态规划需要对全部的子问题进行求解。这样,备忘录算法的需要的时间要比动态规划少,但是在需要对几乎所有子问题求解中 ,动态规划比备忘录好。
0 0
- 动态规划 -- 动态规划基础
- 动态规划基础
- 动态规划基础
- 算法基础---动态规划
- 动态规划 基础总结
- 动态规划入门,基础
- 动态规划基础讲
- 动态规划基础
- 动态规划基础
- 【专题】基础动态规划
- 基础动态规划
- 算法基础--动态规划
- LeetCode基础--动态规划
- 【动态规划(一)】动态规划基础
- 算法训练-动态规划基础
- 基础算法之动态规划
- 动态规划入门 DP基础
- 51nod 动态规划基础
- array数组
- 求均值和均方差不溢出的方法
- VC++之绘制连续线条和扇形效果的线条
- 看AppCan移动管理平台如何助力企业移动化
- 动态修改 uploadify 对象的事件处理
- 动态规划基础
- 安卓自定义ViewGroup起步
- Error:注: 某些输入文件使用或覆盖了已过时的 API。 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
- VS中的快捷键快速格式化代码,使好看,整齐
- 肠炎有无特效药?
- Codeforces Round #299 (Div. 2)-D. Tavas and Malekas(kmp)
- jquery easyui datagrid使用(二)——带有内部checkbox的datagrid
- hadoop2.X配置SecondaryNameNode
- angular学习资源