PHP中递归和递推的探讨

PHP中递归和递推的探讨

我一直不是很理解何为递归,何为递推,查阅相关资料,做出如下总结。

递归函数式:

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

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如果知道这种问题的小一级问题的答案,就可以轻松的获得其上一级的问题答案,并此问题有一定的规律,此时我们就可以使用递推的思想来解决。

我认为,如果在我们的实际生产中,如果一个问题可以使用递归和递推的方法解决,我们应该首先说使用递推。

转载于:https://www.cnblogs.com/zhnaglei/p/6699803.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值