剑指offer 07-10 斐波那契数列类型题目的动态规划解题方法(递归方法)

粗略的看了一下博客文章的预览量,讲道理数量都不多,不过总的来说阿里笔试测试那题还是相对于别的题目吸睛太多,果然名头响才有人看来着。话说明天晚上网易笔试就要来了,满打满算是我第一次正式笔试,所以虽然不抱希望,但还是得奋力得扑腾两下。于是今天抓紧又刷两题。。。开个玩笑,只是惯常刷题罢了。
07 斐波那契数列(自顶向下的方法)
按理说斐波那契数列得解题方法最为直观得是递归,即返回其n-1和n-2得函数本身的和,不过其实说到斐波那契数列就不得不提一种大名鼎鼎的解题方法:动态规划。所以初看算法的人可能都会像我一样被这个名字所吓到,好像很厉害的样子。它确实很难,但难在其理解上,实际上这中方法能够大大降低代码的时间复杂度。而斐波那契数列恰巧是动态规划能够优化递归算法计算时间的一种题目。
动态规划的使用方法都有这相同的特点及其可以将一个问题划分成为几个较小的问题解决,且每个子问题都能够再分,所以问题就越分越细。同时解题方案也有自顶向下和自底向上两种。自顶向下的方案使用表来记录中途的值,以减少重复计算时间。大多hard难度的题目感觉都有涉及该算法。当然这边就简单这么一提,细细品味还是要算法导论吧,不过说实话,我看了一遍算法导论中的动态规划章节总觉得有些迷茫,说懂吧,懂点,不懂好像还是不懂。。。可能需要配合题目才能更深得理解该算法来着。好了具体到题目,斐波那契数列得主要规则是第n个元素是其第n-1和n-2两个元素的合,即F(3)=F(2)+F(1)...
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值