从O(nc)到O(2n),是从有效算法到无效算法的分水岭
斐波拉契数列定义如下
按照定义实现,指数阶时间复杂度
// 指数级时间复杂度
public static int fibo1(int n) {
if( n < 1) {
return -1;
}
return (n<=2)?1:fibo1(n-1)+fibo1(n-2);
}
改进,用数组实现,时间复杂度从指数阶降到多项式阶
从O(nc)到O(2n),是从有效算法到无效算法的分水岭
斐波拉契数列定义如下
按照定义实现,指数阶时间复杂度
// 指数级时间复杂度
public static int fibo1(int n) {
if( n < 1) {
return -1;
}
return (n<=2)?1:fibo1(n-1)+fibo1(n-2);
}
改进,用数组实现,时间复杂度从指数阶降到多项式阶