磨人的动态规划
准备秋招,从数据结构开始!
看了一大堆视频、教程都没搞懂,没办法回归本源吧!我发现了一本书,我觉得讲的不错。
你也看得懂的python算法书
下边就是自己的笔记
动态规划算法是将要解决的问题拆分成一系列相互交叠的子问题,通过推导关系定义子问题的求解策略,并随时记录子问题的解,最终获得原始解,避免子相互交叠子问题的重复求解(这里骂的是递归)
动态规划的三要素
(中间结果保存数组)#擅自加上的
- 最优子结构
- 状态转移方程
- 边界条件
(计算顺序) # 同1
最优子结构
每个阶段最优状态,可以从之前的某些状态得到;
边界条件
问题最小子集的解 #个人认为大部分应该是0,这个问题,因为大部分求解顺序从小到大
状态转移方程
相邻两个子问题之间的函数关系
中间结果保存数组----->子问题结构需要保存的,以便直接使用,空间换时间
计算顺序-------> 我能理解但是说不出来,还得学呀!!!