1. 递归的效率比较低,因为方法需要不断的进栈和出栈。
2. 递归的算法比较浪费栈内存的空间,栈内存本身比较小,很容易将栈内存的内存空间耗尽,那么程序就无法继续执行下去,报出一个错误:
StackOverflowError 栈内存移除
3. 递归一定要有出口,否则就是死递归。
4. 构造方法不能递归使用。
5. 递归算法的好处:思路比较简单,假设简单问题解决了。
6. 所有的递归算法,都有非递归的解决方式,只不过非递归的算法设计比较困难。
1. 递归的效率比较低,因为方法需要不断的进栈和出栈。
2. 递归的算法比较浪费栈内存的空间,栈内存本身比较小,很容易将栈内存的内存空间耗尽,那么程序就无法继续执行下去,报出一个错误:
StackOverflowError 栈内存移除
3. 递归一定要有出口,否则就是死递归。
4. 构造方法不能递归使用。
5. 递归算法的好处:思路比较简单,假设简单问题解决了。
6. 所有的递归算法,都有非递归的解决方式,只不过非递归的算法设计比较困难。