`
tubaluer
  • 浏览: 1500057 次
文章分类
社区版块
存档分类
最新评论
  • sblig: c / c++ 是不一样的都会输出 100
    j = j++

跟着二厶学编程---迭代跟递归的区别

 
阅读更多

大家好,我是二厶可可肉,来自河北省石家庄市,现隶属于北京双匹科技有限公司

每一个高手,都是从菜鸟走过来的。

也许,您今天还不知道迭代跟递归,

也许,您混淆了两者的区别,

也许,您已是久经沙场的前辈

希望可以通过阅读此文,对您的技术有所帮助,或勾起昔日记忆~~

最近更新不是很频繁,在这里先给各位道个歉,不好意思了快哭了原因是因为公司年底项目在赶着完工,今天刚刚做完,明天就该拿去给客户部署了,好了言归正传,今天给大家讲讲递归跟迭代的区别

递归

简单地说 就是 自己调用自己, 举个例子

代码中 add() 方法 自己调用自己,这种就是递归, 递归有几个 很明显的 特点,

有层级,层层深入,

最里层运行完了在往外一层一层的退出来, 也就是 后进先出

如果死循环嵌套出不来的话,内存会溢出

说完了递归,现在说说 迭代

迭代

简单的理解,就是 重复同样的动作,这里的是在同一层级上的


这里 进行的 操作 就是 重复性,有规律性, 他可以用一个公式或函数来表现

简单的写:

num2=num1*2;

简单的说, 一般的 遍历 中的 i++ 那里就是迭代,又有 iterator 接口(迭代器), 都是依靠循环实现的。

不过,迭代跟 遍历是 有 区别的,

迭代 是操作 同一个对象上面。

遍历是把一组对象,依次进行操作

例如i++; 都作用在i上, 这是迭代

for(int i=0;i<list.count;i++){

System.out.println(list[i]);

}

好了,先到这里吧,:D

由于本人水平有限,文中若有不周、不妥之处,二厶诚恳地期望各位专家和读者不吝赐教和帮助,对此,二厶将深为感激。


分享到:
评论

相关推荐

    n后问题--非递归迭代回溯.rar

    n后问题--非递归迭代回溯.rar n后问题--非递归迭代回溯.rar n后问题--非递归迭代回溯.rar n后问题--非递归迭代回溯.rar n后问题--非递归迭代回溯.rar n后问题--非递归迭代回溯.rar

    n后问题---递归回溯法 n后问题---递归回溯法

    n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---...

    编程之-迭代法

    迭代法,一种在计算机科学中广泛使用的算法策略,它的核心思想是通过不断重复一系列...通过深入学习和实践迭代法,编程者可以提升自己的技术能力,更有效地应对各种计算挑战,并在不断变化的软件开发领域中保持竞争力。

    兔子问题--斐波那契数列--递归--面向过程编程--面向对象编程--2种

    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为...1. 递归,面向过程编程,简单直接 2. 面向对象编程,别人写的,

    DNS递归和迭代

    递归查询和迭代查询的区别在于服务器的响应方式和查询过程,递归查询是指 DNS 服务器将力图代表客户机来找到答案,而迭代查询是指 DNS 服务器给出所要查询的 IP 地址或告诉本地域名服务器下一步应当向哪一个域名...

    迭代与递归的区别

    在计算机编程中,迭代与递归是两种常用的解决重复性问题的方法。它们各自有不同的特点和适用场景。理解它们之间的区别,对于编写高效和优雅的代码至关重要。 迭代是一种方法,它通过重复执行一组指令来逐步逼近最终...

    商业编程-源码-用递归的方法画分形图.zip

    在编程领域,分形是一种非常有趣的数学概念,它在计算机图形学、艺术、科学和工程等领域都有广泛应用。分形图通常具有自相似性,即在不同尺度上展示相同的形状特征。递归是实现分形图绘制的一种常见方法,因为递归的...

    0/1背包问题的两种解法--存储优化的递归和自下而上的递归(迭代法)

    这种方法也使用了二维数组`dp`,但它避免了递归,通过从底部向上迭代填充数组来解决问题。首先初始化`dp[0][j] = 0`,因为没有物品时,最大价值为0。然后,对于每个物品`i`,遍历所有可能的容量`j`,更新`dp[i][j]`...

    递归-----动态树实现递归

    在编程领域,递归是一种强大的工具,它允许函数或过程调用自身来解决问题。递归在处理树结构数据时尤其有效,因为树本身就是一种自相似的数据结构,非常适合使用递归来遍历、查找或修改。标题“递归-----动态树实现...

    c语言-阶乘算法(迭代和递归).docx

    C语言-阶乘算法(迭代和递归) C语言-阶乘算法是计算阶乘的经典算法,包括迭代算法和递归算法两种实现方式。阶乘是数学中的一种运算符号,表示一个数字的所有正整数因子的乘积,如n! = n * (n-1) * (n-2) * (n-3) * ....

    C语言实现 求二项式各项系数(迭代,递归)

    本文将围绕“C语言实现求二项式各项系数(迭代,递归法)”这一主题,深入探讨如何利用C语言通过迭代和递归两种方法来计算二项式系数,这不仅体现了C语言的强大功能,也展示了编程中不同算法的运用与对比。...

    递归与迭代算法及其在JAVA语言中的应用.pdf

    递归与迭代是算法设计中两种常见的解决问题的方法,它们在Java语言中的应用广泛且具有深远的意义。递归算法通过方法内部调用自身来解决问题,它适合于可以分解为相似子问题的问题;而迭代算法则通过循环结构,不断...

    oracle递归、迭代

    #### 二、递归查询的基础概念 递归查询是Oracle中一种特殊的查询方式,主要用于检索具有层次结构的数据。在Oracle中实现递归查询需要用到`START WITH... CONNECT BY PRIOR`语法。 #### 三、递归查询的基本语法 ...

    嵌入式C语言培训-C编程基础-递归函数视频教程

    通过“嵌入式C语言培训-C编程基础-递归函数视频教程”,学习者可以期待掌握以下内容: 1. **递归概念**:理解递归的基本原理和工作方式。 2. **递归实例**:通过实例学习如何在C语言中编写递归函数。 3. **递归调试...

    商业编程-源码-CTreeCtrl类的递归使用.zip

    在这个“商业编程-源码-CTreeCtrl类的递归使用.zip”压缩包中,我们重点关注的是CTreeCtrl类的递归应用。CTreeCtrl是MFC中的一个控件类,用于实现树形视图,常用于构建层次结构的数据表示。 **CTreeCtrl类介绍** ...

    DNS迭代查询和递归查询的区别.docx

    "DNS 迭代查询和递归查询的区别" DNS(Domain Name System)是 Internet 中的一个基础设施,提供域名到 IP 地址的映射服务。在 DNS 解析过程中,查询类型是一个关键概念,有两种主要的查询类型:迭代查询和递归查询...

    迭代与递归算法

    在编程和算法设计中,迭代和递归是两种常见的解决问题的方法。它们在处理循环和层次结构问题时尤其重要,尤其在C语言和其他编程语言中。本文将深入探讨这两种方法,以及它们在实际应用中的差异。 **迭代算法**是...

    java-c语法7---method-递归---马克-to-win java视频

    java语法 method 递归 马克-to-win java视频 方法 重载

    牛顿迭代算法与递归算法的概念和区别

    在算法的世界里,牛顿迭代算法和递归算法各有千秋,它们是解决问题的两种重要思路。理解它们的概念和区别对于选择正确的工具来解决特定问题至关重要。 牛顿迭代算法,也称为牛顿-拉弗森方法,是一种迭代逼近技术,...

    基础算法-递归-杨鑫20191010.pptx

    基础算法-递归-杨鑫20191010.pptx,基础算法-递归-杨鑫20191010.pptx,基础算法-递归-杨鑫20191010.pptx

Global site tag (gtag.js) - Google Analytics