区分递归和迭代
首先,二者有相通的地方,不然的话也不至于容易弄混哈哈哈。但是,这两者在算法上可以相互替换的情况很少。
递归:通常被用来描述以自相似方法重复事物的过程,在数学和计算机科学中,指的是在函数定义中使用函数自身的方法。 按照我的理解来说,就是一个函数不断地使用自己,A使用A。
迭代:重复反馈活动的过程,一次迭代的结果作为下一次迭代的初始值,不断地重复。A不断重复使用B。
按照结构来区分的话:
迭代属于环结构(一次迭代的结果作为下一次迭代的初始值);
递归属于树结构(递归---递推+回归;递推到达底部时就会开始回归,类似于树的深度遍历)
看到一个大佬这么描述这两者的关系:迭代:从已知推未知 ; 递归:从未知回溯到已知,再推未知
部分内容摘抄自:https://www.jianshu.com/p/32bcc45efd32