斐波那契数列具有一个通式:当n>2时,f(n)=f(n-1)+f(n-2);当n=1或n=2时,f(1)=f(2)=1.代码实现:package com.lk.C;public class Test4 { public static int compute(int index){ ...
分类:
编程语言 时间:
2015-04-07 21:28:47
阅读次数:
143
stackless python真是毁三观,算斐波那契数列,n为100000(十万),运行时间2。2秒左右这里写一下感悟:stackless python从字面上理解就是没有栈的python,怎么做到没有栈呢?基于堆栈的语言是怎么实现的:1、一般将函数的调用推进栈里面,后入栈单元计算完之后,先入栈的...
分类:
编程语言 时间:
2015-04-07 01:50:43
阅读次数:
306
反向计算:编写一个函数将一个整型转换为二进制形式反向计算问题,递归比循环更简单分析:需要理解,奇数的二进制最后一位是1,偶数的二进制最后一位一定是0,联想记忆,这个和整型的奇偶性是一致的,1本身就是奇数,0本身是偶数。十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制...
分类:
其他好文 时间:
2015-04-02 01:13:35
阅读次数:
158
之前算斐波那契数列都是算前两个数相加实现的比如0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,463682=1+13=1+25=2+38=3+5……...
分类:
编程语言 时间:
2015-04-01 23:27:48
阅读次数:
223
以前看数据结构与算法分析(C语言描述),作者在讲述算法分析时提到递归计算斐波那契数列,
时间复杂度T(N) = T(N-1) + T(N-2);
作者说归纳法易证得T(N) >= Fib(N);而Fib(N) = (3/2)^(N)
这个地方作者处理得有些不太彻底,不是吗?翻来覆去没把Fib(N)准确求出,今天我翻看另一本资料,
更模糊了,它求得2^(N/2) < T(N) < 2^(N)就完事了。
不过今天我开窍了,T(N) = T(N-1) + T(N...
分类:
其他好文 时间:
2015-04-01 15:33:37
阅读次数:
172
斐波那契数列的递归实现:
public int fn(int n) {
if (n == 1 || n == 2)
return 1;
return fn(n-1)+fn(n-2);
}
非递归写法:
public int fn(int n) {
int a =1;
int b = 1;
int tmp;
if (n == 1 || n == 2)
return 1;
f...
分类:
编程语言 时间:
2015-04-01 15:26:53
阅读次数:
146
问题描述 斐波那契数列大家都非常熟悉。它的定义是: f(x) = 1 .... (x=1,2) f(x) = f(x-1) + f(x-2) .... (x>2) 对于给定的整数 n 和 m,我们希望求出: f(1) + f(2) + ... + f(n) 的值。但这个值可能非常大,所以我...
分类:
其他好文 时间:
2015-03-31 17:42:56
阅读次数:
304
//////UserecursivemethodtoimplementFibonacci/////////staticintFn(intn){if(n46memorywilloverflow}递归算法时间复杂度是O(n2), 空间复杂度也很高的。当然不是最优的。自然我们想到了非递归算法了。一般的实现...