递归与循环的区别

Posted wangfencs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归与循环的区别相关的知识,希望对你有一定的参考价值。

递归算法:
 
优点:代码简洁、清晰,并且容易验证正确性。
 
缺点:
1、它的运行需要较多次数的函数调用,如果调用层数比较深,每次都要创建新的变量,需要增加额外的堆栈处理,会对执行效率有一定影响,占用过多的内存资源。
2、递归算法解题的运行效率较低。在递归调用的过程中系统为每一层的返回点、局部变量等开辟了栈来储存。递归次数过多容易造成栈溢出等
 
注意:递归就是在过程或函数里调用自身;使用递归策略时要注意的几个条件
1、必须有一个明确的递归结束条件,称为递归出口。
2、递归需要有边界条件、递归前进段和递归返回段。
3、当边界条件不满足时,递归前进。当边界条件满足时,递归返回。
 
循环算法:
 
优点:速度快,结构简单。
 
缺点:并不能解决所有的问题。有的问题适合使用递归而不是循环。如果使用循环并不困难的话,最好使用循环

 

以上是关于递归与循环的区别的主要内容,如果未能解决你的问题,请参考以下文章

递归 回调 迭代 遍历 闭包 区别

一文搞明白java遍历循环递归深度优先广度优先的区别

循环递归的区别?

迭代,循环,遍历,递归的区别

迭代,循环,遍历,递归的区别

在递归函数中使用while循环和if语句之间有区别吗?