其他分享
首页 > 其他分享> > 前端每日面试一题

前端每日面试一题

作者:互联网

20220608

递归和动态规划的概念

DP核心就是建立一个合适的数据结构,保存递归过程中运算的结果.
先想递归
发现重复计算
通过记忆化等方法弄掉重复计算
最后看下能不能通过利用计算顺序来做的去掉递归用“刷表”方式直接顺序计算.

一些概念(斐波那契数列)
迭代:循环
最优子结构:原问题的最优解,可以通过求解子问题的最优解进而推出原问题的最优解
重叠子问题:在递归中,计算f(10),会把f(8)或者f(9)进行多次计算,动态规划消除了重叠子问题,不进行多次重复计算
自顶向下:求解f(n),需要计算f(n-1),进而计算初f(n)的解,所以斐波那契数列递归时会出现f(n-1)+f(n-2)
自底向上:从最小的f(1)到f(2)往上堆到f(20)。

动态规划将递归函数变成了循环迭代

动态规划消除了递归生成的重叠子问题

动态规划采用自底向上的思想,递归采用自顶向下的思想

标签:递归,前端,面试,自顶向下,计算,最优,动态,规划,每日
来源: https://www.cnblogs.com/gzeal/p/16356859.html