
编程之美
Relieved
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
编程之美--买书问题(递归算法)
斐波那契数的计算公式是F(n)=F(n-1)+F(n-2),F(0)=F(1)=1 任何递推的数学公式都可以直接翻译为递归的算法,于是递归的 斐波那契数计算方法是这样的: int fib(int n){原创 2011-10-17 20:57:31 · 420 阅读 · 0 评论 -
编程之美-饮料供应问题
动态规划和备忘录方法的不同点:动态规划是从下到上把所有的情况都计算出来,后面的表达式会用到前面的结果,这个避免重复计算,而备忘录方法则是用递归的方法,但是有点不同的是最开始对所有情况进行标记,如:-1,然后每次递归时都要判断这个值是否计算过,如果没有则进行计算,如已经计算过则直接返回结果即可。采用这个递归只会计算所需要的值,对于有些情况很多值是从来都用不到的,所以不用计算,这个比动态规划要效率高些原创 2011-10-19 18:23:02 · 1046 阅读 · 0 评论 -
编程之美-饮料供应问题(备忘录方法)
备忘录方法——动态规划法的变形 e.g. 求LCS的问题。当xi=yj时,求C[i,j]只需知道C[i-1,j-1] 而无需用到C[i,0]~C[i,j-1]及C[i-1,j]~C[i-1,n]。 ∴ 当只需求出一个LCS时, 可能有一些C[p,q]在整个求解过程中都不会用到。 一般地,当某个问题可以用动态规划法求解, 但二维数组中有相当一部分元素在整个计算中都不会被用到原创 2011-10-19 18:13:51 · 1118 阅读 · 0 评论