递归和递推

递归函数式:

递归就是函数自身调用自己本身。
如下面的代码:求一个数的阶乘

function foo($n){
    if($n==1){
        return 1;
    }
    return $res=$n*foo($n-1);
}

因此,我想当我们面对一个大问题,该大问题可以经由该小问题的同类问题的小一级问题的简单计算获得,而且,可以获知该类问题的最小一级的答案,则,此时,我们就可以使用递归的思想来解决此问题。

递推函数:

我们在用递推的思想求一个数的阶乘!
如下代码:

function foo($n){
    $start=1;
    for ($i=2;$i<=$n;++$i){
        $res=$start*$i;
        $start=$res;

    }
    return $res;

}

因此,我总结递推的使用为,如果要求一个大问题且该问题有两个特点,1.已知该问题的同类问题的最小问题的答案,2如果知道这种问题的小一级问题的答案,就可以轻松的获得其上一级的问题答案,并此问题有一定的规律,此时我们就可以使用递推的思想来解决。

 

posted @ 2017-08-11 10:01  郭帅  阅读(104)  评论(0编辑  收藏  举报