关于递归和迭代的区别(个人观点)

首先标明递归和迭代的书面解释:

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

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

就个人理解:

1.递归就是一个大的事物有很多很多小的,相似的事物组成。4是由两个2组成,而2是由1组成,此时大事物是‘4’,小一点的事物是‘2’,这个事物最小的组成是‘1’,此时想解决‘4’,就先要解决‘2’,同理要解决‘2’,就要先解决‘1’,有因为同属于一个事物中,解决的方法都是一样的。也就是自己调用自己,一直到最小的时候,此时解决,返回上一个较大的事物中,通过这个小事物的答案解决较大事物的问题,再返回。。。依次类推。

2.迭代就是,从一个小事物,通过一个方法,循环往复,不断更新自己,不断成长,最终解决大的事物。就像学生的学习,先学一年级的知识,考试,有了一年级水平;再依此为基础学习二年级的知识,考试,有了二年级的基础。。。。。。依此类推,不断循环自己,更新自己。

就个人的见解,递归就像一棵二叉树(也常用于解决二叉树问题),从头到尾,依此递归。

而迭代就像螺旋式上升,像一个环,但是没有原地踏步,而是在不断扩展自己。

猜你喜欢

转载自blog.csdn.net/weixin_45314061/article/details/130031742