Java中递归与迭代的区别
在找工作面试的过程中,遇到这样一个问题:递归与迭代的区别?当时感觉这个基础的问题回答的很差,值回答了简单的层面意思。所以,回来就查阅资料总结了一下。参考博客:http://blog.youkuaiyun.com/laoyang360/article/details/7855860
1. 基本概念
递归:在程序中,一个函数调用自身的编程方法称为递归。【函数自己调用自己】
一个函数在其定义中直接或者间接调用自身的一种方法,它通常把一个大型的复杂问题转化为一个与原问题相似的小问题来解决。这样,就可以将问题由复杂——>简单转化,可以极大的减少代码量。递归的能力就在于用有限的代码来定义对象的无限集合。
使用递归应该注意的两点: