知识点 动态规划

1.关键点:①状态定义状态定义方程

2.核心逻辑和递归一样,把大问题拆成小问题

3.盘逻辑时,可以借助递归树

4.注意数组定义,分清是“第i个”还是“前i个”

5.本质是对回溯进行优化:

        回溯的时间复杂度为指数级,因为重复计算了某些结果,容易超时。

        动态规划把递归的计算结果保存下来,再遇到时直接用。

6.时间复杂度=状态个数*单个状态计算所需时间=O(n)

空间复杂度=O(n)

7.递归搜索+保存计算结果=记忆化搜索

8.对于递归树:

        自顶向下算->记忆化搜索

        自底向上算->递推(可以把空间复杂度简化为O(1))

你可能感兴趣的:(知识点,动态规划,算法,笔记)