迭代和递归的区别

63次

问题描述:

迭代和递归的区别 知乎

推荐答案

2023-10-24 00:24:24

递归(recursion):递归常被用来描述以自相似方法重复事物的过程,在数学和计算机科学中,指的是在函数定义中使用函数自身的方法。(A调用A)

迭代(iteration):重复反馈过程的活动,每一次迭代的结果会作为下一次迭代的初始值。(A重复调用B)

递归是一个树结构,从字面可以其理解为重复“递推”和“回归”的过程,当“递推”到达底部时就会开始“回归”,其过程相当于树的深度优先遍历。

迭代是一个环结构,从初始状态开始,每次迭代都遍历这个环,并更新状态,多次迭代直到到达结束状态。

理论上递归和迭代时间复杂度方面是一样的,但实际应用中(函数调用和函数调用堆栈的开销)递归比迭代效率要低。

其他答案

2023-10-24 00:24:24

1、含义不同。迭代是利用已知的变量,不断用变量旧值递推新值直到结束;递归是函数直接或间接调用函数自身,直到满足终止条件再逐层回归。

2、结构不同。

3、时间复杂度不同。

4、用法不同。

5、时间开销不同。

6、无限重复后果不同。

其他答案

2023-10-24 00:24:24

迭代和递归是编程中两种常见的循环方式,它们的区别主要有以下几点:迭代和递归都是循环的方式,但它们的实现方式有所不同。解释迭代是通过循环语句来反复执行某段代码区块,以达到重复执行的目的。而递归则是函数通过调用自身来实现的一种循环方式,它常常用于解决重复性质问题,可以将一个问题简化为多个小问题,最终递归回到最初的问题。相比较而言,递归实现相对于迭代实现更加直观和简单,但递归的效率相对来说较低,因为它会频繁地调用函数,会增加程序的开销。因此,在编程实现时,需要根据实际情况,选择合适的循环方式。

知道问答相关问答

(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6