1 你会学到什么?
在前面的两个推送:
LeetCode实战:动态规划算法是怎么一回事
动态规划:括号知多少
我们通过两个实际问题,《装水做多的容器》和《括号知多少》,初步对动态规划有了一个初步了解。
在本推送中,我们将解决以下两个问题:
- 动态规划牺牲空间换来了什么?
动态规划如何提升时间性能的?
再举动态规划的一个实际例子
2 动态规划相关理论
动态规划的定义
动态规划的英文名称为:dynamic programming,接下来看下《Introduction to algorithms》对动态规划的定义:
A dynamic-programming algorithm solves each subsubproblem just once
and then saves its answer in a table, thereby avoiding the work of
recomputing the answer every time it solves each subsubproblem.
翻译过来:
动态规划算法解决每一个子问题,仅一次,然后保存子问题的结果到内存表中,以此