码迷,mamicode.com
首页 > 其他好文 > 详细

2016.4.2 王老师讲课笔记(动态规划)

时间:2016-04-02 12:12:18      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

一.动态规划中的几个点

    1.状态(类比于函数),也就是确定要得出最优解最少需要多少个变量,需要确保的是保证变量的数目尽量少,而且得出的最优解正确

    2.状态转移(类比于递归的理解):状态转移需要一个递推方程,状态的初值--递推的边界,

                                                 因为递归的速度很慢 ,所以我们就把递归变成for循环,可以提高效率,但是for循环的顺序的处理是关键。

    3.求解--数组(顺序),记忆化搜索

              求解方法一;数组的递推:可以避免递归的慢速,数组的维数就是状态中的参数(所以需要考虑降维的问题),

                             这种实现方法,for循环的顺序也是关键

             求解方法二:记忆化搜索;当求出每个状态的顺序很难确定,那么就用递归,这并不是一般的递归,一般的递归速度慢,就是因为做了大量的重复计算,

                             使用记忆化搜索,当做到重复计算的时候,就返回之前算过的值,而不是再进行计算,这就是记忆化搜索.(这需要多开一个数组,用空间换取时间)。

    4.特征;最优子结构:就是考虑怎么把当前状态拆开的问题?

    5.优化:

       注意优化的代价一定要小,否则优化就没有什么意义。具体的优化因为题目而异。没有通用的方法。

2016.4.2 王老师讲课笔记(动态规划)

标签:

原文地址:http://www.cnblogs.com/c1299401227/p/5346870.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!