五大算法之一——动态规划(Dynamic Programming),Memoization

动态规划是解决多阶段决策过程最优化的一种有效的数学方法。

Memoization 一种计算优化技术。大白话就是不要重复计算,用空间换时间,把需要重复计算的中间值存起来。在动态规划中需要用到此技术。

个人理解,动态规划和分治的区别,动态规划可以按照步来求解,一步一步的求解,最后就得到解决,而分治把大问题不断分成小问题,小问题解决了,最终解决大问题。还有就是分治算法中,不存在重复计算中间值的问题。可能理解的不对

下面举两个实际的例子

Pascal's Triangle (LeetCode) 帕斯卡三角或者叫杨辉三角----动态规划和memoization

Fibonacci Number (leetcode)---动态规划和memoization

Climbing Stairs (LeetCode)

你可能感兴趣的:(刷题)