Advertisement

算法基础:动态规划中的滚动数组

阅读量:

本文在先前论述的基础上,进一步探讨了动态规划数组的优化策略。最初设计这些基础算法时,本意是为家中年幼的学子提供学习资料,然而未曾料到后辈的学习进度远超预期,因此借此次周末时光,特以此文作为纪念。

目录

  • 斐波那契数列
    • 采用动态规划数组的方式进行实现
    • 对计算次数的理论验证
    • 运用动态规划方法进行求解
    • 滚动数组技术的应用
    • 总结

斐波那契数列

斐波那契数列:
f(n) = f(n-1) + f(n-2) (n>1)
f(0) = 1
f(1) = 1

dp数组方式实现

复制代码
    int fibonacci(int n) {
    if (n == 0 || n == 1) return dp[n]=1;
    if (dp[n] != -1) return dp[n];
    return dp[n]=fibonacci(n-1)+fibonacci(n-2);
    }
    
    
    AI写代码c
    
    运行

相关内容可进一步查阅:<>>

计算次数的证明

在注意到少年已经能够自主运用spfa算法解决相关问题后,此类基础内容显然已不再适合提供给他学习。因此,对动态规划法所解决的具体问题进行了简要核实,并尝试分析为何实际执行加法

全部评论 (0)

还没有任何评论哟~