算法--递归

来源:互联网 发布:淘宝购买充气娃娃图 编辑:程序博客网 时间:2024/06/05 02:21

所谓的递归,就是在函数内部又去调用自己。
例如:求阶乘,在fact函数内部又去调用fact的函数。
function fact(n){
    if(1==n){
        return n;
    }
    return n * fact(n-1);
}
5!= 5 * 4! = 120
4!= 4 * 3! = 120
3!= 3 * 2! = 120
2!= 2 * 1! = 120
1!= 1
递归算法如果按照常规思路去理解是非常复杂的,函数调用一层一层嵌套用,然后又一层一层返回,不妨换个思路去理解递归
递归实际上是将规模为a的问题降价为n-1的问题进行求解,也就是去找n和n-1的关系。

就问你递归是不是很强大!

原创粉丝点击