首页 > 编程知识 正文

迭代法和递归法的区别,如何判断递归和迭代

时间:2023-05-05 12:19:42 阅读:14752 作者:2393

递归到底是什么

递归是在运行中调用自己。

配置递归的必要条件:

子问题与原问题是一回事,必须更简单; 不能无限制地呼叫本身。 需要出口。 简化为非递归情况处理。

迭代法也称为辗转法,是使用变量的旧值递归求出新值的过程。 对应迭代法的是直接法(或称为一次解法),即一次求解问题迭代与递归的关系和区别(如

从概念上说,递归是程序调用自身的编程思想,即指向一个函数调用自身的迭代是利用已知变量值,通过递归公式不断演化得到变量新的有价值的编程思想。 简而言之,递归是指反复调用函数本身来实现循环。 迭代是函数中的一个代码实现循环,而迭代与普通循环的区别在于,参与循环代码中运算的变量是同时保存结果的变量,当前保存的结果是下一个循环计算的初始值。

迭代与常规循环的区别在于,对于迭代,循环代码中参与运算的变量是同时保存结果的变量,而当前保存的结果是下一个循环计算的初始值。

递归和普通循环的区别在于循环有去和回,而递归有去和回(因为存在终止条件)。

循环次数多时,迭代的效率明显高于递归。

以斐波那契数列求解为例,通过两种典型实现进行对比

1intfib(intn ) if ) N1 ) returnfib ) n-1 ) fib ) n-2 ); else return n; //n=0,1时,recursion结束条件(2intfib(intn ) { int i,temp0,temp1,temp2; if(n=1)返回n; 时间1=0; 时间2=1; for(I=2; i=n; I ) { temp0=temp1 temp2; 时间2=时间1; temp1=temp0; }返回时间0; }原文地址https://blog.csdn.net/QQ _ 40817827/article/details/89950325

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。