动态规划:动态规划入门,斐波那契数列的高效解法
斐波那契数列定义为f(0)=0,f(1)=1,n>1时f(n)=f(n-1)+f(n-2)。直接递归计算时,因重复计算过多,时间复杂度达O(2^n),效率极低。 动态规划通过空间换时间优化:一是记忆化递归,用备忘录数组存储已计算结果,每个子问题仅算一次,时间与空间复杂度均为O(n);二是递推法,仅用两个变量迭代计算,时间O(n)、空间O(1),为最优解。 动态规划核心特性是重叠子问题(子问题重复出现)与最优子结构(当前解依赖子问题解)。其本质是通过存储子问题结果避免重复计算,斐波那契是经典入门案例,掌握后可推广至爬楼梯等同类问题。
阅读全文