算法1动态规划

一动态规划

DP(Dynamic Programming)定义:

动态规划是分治思想,大事化小,小事化了的思想。

动态规划的特点:

  1. 把原来的问题分解成相似的几个子问题。
  2. 所有的子问题都只需要解决一次。
  3. 存储子问题的解。

四要素:

  1. 状态定义
  2. 状态间的转移方程定义
  3. 状态的初始化
  4. 返回结果

状态定义的要求:定义的状态一定要形成递推的关系。

本质:

  1. 对问题状态的定义
  2. 对问题状态转移方程的定义

三特点四要素俩本质

适用场景

最大值、最小值、可不可行、是不是、方案个数

二、案例

1斐波那契数列

输出斐波那契数列第n项

  1. 状态定义  F(i):第i项的值
  2. 状态间的转移方程定义 : F(i) =  F(i - 1) +  F(i - 2)
  3. 状态的初始化 :F(0) = 0;  F(1) = 1
  4. 返回结果 : F(n)

你可能感兴趣的:(算法,算法,动态规划)