在学js函数时,首次使用递归,感觉很新奇,觉得眼前一亮,en ,不错不错
优点:实现简单,可读性好。
缺点:递归调用,占用内存大;递归太深,易发生栈溢出;可能存在重复计算
下面使用js来实现下
主要分为两步
1.找规律
2.找方法
例:
一 . 求n的阶乘
n ! = n * (n - 1) !
function mul (n){
if(n == 1 || n == 0){
return 1;
}
return n * mul(n - 1);
}
二 . 雯波那契数列
所谓雯波那契数列,就是从第三项开始,每一项都等于前面两项的和,第一二两项的和都为1
fb(n) = fb (n - 1) + fb(n - 2);
function fb (n) {
if(n == 1 || n == 2){
return 1;
}
return fb(n - 1) + fb(n - 2);
}