动态规划小结
来源:互联网 发布:php格式怎么转换 编辑:程序博客网 时间:2024/04/28 22:49
Dynamical Programming(动态规划)
这是一种对递归方法的优化,应用地最多的场合是组合优化问题(Combinatorial Optimization)。
在用一般递归方法解决某些问题的时候,会出现对同一个子问题的重复计算,例如:
f(n) = f(n-1) + f(n-2)
f(10) = f(9) + f(8) = (f(8) + f(7)) + f(8) = ...
例如上面的f(8)就被计算了很多次。 所以,动态规划实现了,在解决子问题的过程中,保存这些子问题的答案,供后面直接使用,避免重复计算。
动态规划的例子包括:
1、最长公共子序列问题(L[i,j])
2、矩阵链相乘的最小代价问题(C[i, j])
3、图的最短路径问题(Floyd算法)
4、背包问题 (V[i, j])
以上例子基本都是通过二维矩阵来保存每次递归计算的中间结果的。
而且这个中间结果也是子问题的最优解。
0 0
- 动态规划 小结
- 动态规划算法小结
- 动态规划题目小结
- 动态规划小结
- 动态规划学习小结
- 动态规划小结
- 动态规划小结
- 动态规划--小结
- 动态规划小结
- 动态规划小结
- 动态规划小结
- 动态规划-leetcode小结
- 动态规划小结
- 【寒江雪】动态规划小结
- 动态规划小结
- 动态规划小结
- 动态规划问题小结
- 动态规划小结
- 内存泄露和内存溢出区别
- 闲扯LUA之一
- 最长不重复子串
- 继承
- tiny6410: linux内核移植以及文件系统
- 动态规划小结
- 修复Linux引导(二):unknown filesystem,引导菜单无法启动系统,使用LiveCD修复
- 【DFS】Combinations
- Double Maze
- 闲扯LUA之二
- 《用java来解决大数问题总结》
- JavaScript关于闭包,匿名函数,this,对象等的一些理解
- Java实现FTP上传下载文件
- c++中 子类父类的构造函数调用顺序