如何理解迭代和递归?——希望这篇文章能够帮到你

本文通过一个斐波那契数列的例子,解释了迭代和递归在算法中的基本概念和区别。递归是将问题分解为规模较小的子问题,逐级向下分解并回溯,而迭代则是通过不断更新迭代变量,向前推进解决问题。递归算法效率较低,可能有重复计算,而迭代则避免了这个问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学习算法,却发现自己对迭代和递归傻傻分不清,脑子转不过来弯儿,所以自己又学习了一下。

如果你和我一样分不清迭代和递归,那我衷心希望这篇文章能够帮助到你。

本篇只是通过一个简单的例子来说明迭代和递归,对于二者在算法中更深层次的运用不加以说明。

如有错误,欢迎指正,我会及时更正错误。

迭代(iteration):the process of repeating a mathematical or computing process or set of instructions again and again, each time applying it to the result of the previous stage

递归(recursion):the process of repeating a function, each time applying it to the result of the previous stage

(摘自牛津字典英文释义,都很简单,就不翻译了)

我们可以看出,迭代和递归都是在重复

但是它们重复的内容,重复的方式不一样。

看一个最熟悉不过的例子吧——配波拉契数列:1,1,2,3,5,8,…得到f(n)

分析
在这里插入图片描述

递归法:

int f(int n){
   
 if(n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值