区分递归和迭代


  首先,二者有相通的地方,不然的话也不至于容易弄混哈哈哈。但是,这两者在算法上可以相互替换的情况很少。


递归:通常被用来描述以自相似方法重复事物的过程,在数学和计算机科学中,指的是在函数定义中使用函数自身的方法。    按照我的理解来说,就是一个函数不断地使用自己,A使用A。
迭代:重复反馈活动的过程,一次迭代的结果作为下一次迭代的初始值,不断地重复。A不断重复使用B。

按照结构来区分的话:

迭代属于环结构(一次迭代的结果作为下一次迭代的初始值);
递归属于树结构(递归---递推+回归;递推到达底部时就会开始回归,类似于树的深度遍历)


看到一个大佬这么描述这两者的关系:迭代:从已知推未知 ;    递归:从未知回溯到已知,再推未知

部分内容摘抄自:https://www.jianshu.com/p/32bcc45efd32

全部评论

相关推荐

点赞 评论 收藏
分享
被加薪的哈里很优秀:应该继续招人,不会给你留岗位的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务