摘要:
算法与数据结构 6.6、斐波那契数列-记忆化递归 一、总结 一句话总结: 记忆化递归,就是把已经计算的中间状态保存下来,下次需要的时候就直接拿这个结果,就避免了递归中的重复计算中间状态 #include <iostream> #include <cstring> using namespace st 阅读全文
posted @ 2020-06-08 22:15
范仁义
阅读(753)
评论(0)
推荐(1)
摘要:
算法与数据结构 6.5、斐波那契数列-递归解法 一、总结 一句话总结: 递推法的递推表达式就是递归的各个元素之间的关系,所以递推表达式明确之后,递归的代码也就特别好写了 #include <iostream> using namespace std; const int mod=1000000007 阅读全文
posted @ 2020-06-08 17:57
范仁义
阅读(361)
评论(0)
推荐(0)
摘要:
算法与数据结构 6.4、斐波那契数列-三个变量 一、总结 一句话总结: A、斐波那契数列的三个变量解法,我们将f[3]用3个变量a、b、c来代替,这个时候就不能通过取模(%3)来自动变换位置了 B、这个时候我们可以保留f(n)和f(n-1)来做下一轮的f(n-1)和f(n-2) #include < 阅读全文
posted @ 2020-06-08 16:28
范仁义
阅读(553)
评论(0)
推荐(0)
摘要:
算法与数据结构 6.3、递推和动态规划的关系 一、总结 一句话总结: 动态规划可以看做是一种特殊的递推,动态规划可以看做保存中间状态(中间结果)的递推 /* 上述代码也就是这个题目动态规划的写法 动态规划里面有状态,状态转移方程 递推里面初始值,递推表达式 其实动态规划里面的状态转移方程,就是递推表 阅读全文
posted @ 2020-06-08 14:56
范仁义
阅读(567)
评论(0)
推荐(1)
摘要:
算法与数据结构 6.2、斐波那契数列-滚动数组优化 一、总结 一句话总结: a、因为递推表达式f[i]=f[i-1]+f[i-2]中只用到了f[i]、f[i-1]和f[i-2]三个元素,所以可以用含有三个元素的数组来优化 b、滚动数组的代码修改也很简单,直接在递推表达式有i的位置%3即可,f[i%3 阅读全文
posted @ 2020-06-08 14:28
范仁义
阅读(399)
评论(0)
推荐(0)
摘要:
算法与数据结构 6.1、斐波那契数列-递推解法 一、总结 一句话总结: 波那契数列递推的关系式F(n)=F(n-1)+F(n-2)已经有了,所以明确一下循环的边界条件,递推的代码就很好敲了 #include <iostream> using namespace std; const int mod= 阅读全文
posted @ 2020-06-08 10:19
范仁义
阅读(823)
评论(0)
推荐(0)
摘要:
算法与数据结构 5、递推 一、总结 一句话总结: 递推算法就是对于一个问题,我们找到它数学对应的递推表达式,也就是相邻几项的关系。 递推算法就是对于一个问题,我们找到它数学对应的递推表达式, 也就是相邻几项的关系。 递推算法避开了求通项公式的麻烦,把一个复杂的问题的求解, 分解成了连续的若干步简单运 阅读全文
posted @ 2020-06-08 09:14
范仁义
阅读(643)
评论(0)
推荐(0)

浙公网安备 33010602011771号