// 斐波那契数列的memoization优化
var fibonacci = (function(){
var cache = []; //定义一个空的存放缓存的数组
return function(n){
if(n === 0 || n === 1){
return n;
}else{
cache[n-1] = cache[n-1]||fibonacci(n-1); //先从cache数组里查询结果,如果没找到的话在计算
cache[n-2] = cache[n-2]||fibonacci(n-2);
console.log(cache)
return cache[n-1]+cache[n-2];
}
}
})();
let a = fibonacci(6)
console.log(a)
// 斐波那契数列
const fibo = function(n) {
// F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)
if(n == 0 || n == 1) {
return n;
} else {
return fibo(n-1) + fibo(n-2)
}
}
console.log(fibo(6))