【数据结构与算法】深入浅出递归和迭代的通用转换思想

深入浅出递归和迭代的通用转换思想

一般来说,能用迭代的地方就不要用递归!理论上讲,所有的递归和迭代之间都能相互转换!

刷题碰到【一天一道LeetCode】#130. Surrounded Regions所以来总结一下递归和迭代。

(一)何为迭代?

首先我们来看下面这段简单的代码:

int sum(int n )
{
    int sum =0;
    for(int i = 1 ; i <= n;i++) sum+=n;//求解1~n的和
    return sum;
}

从上述例子中,从1一直加到n,每一次的和都是在上一次的和上加上n,因此,我们不难理解,所谓迭代法(辗转法),就是一种不断用变量的旧值递推新值的过程。

迭代三大步骤:

  1. 确定迭代变量:确定一个直接或间接地不断由旧值推断新值的
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值