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