递归的优点:
1.简单的程序,可以减轻程序员的负担。结构越复杂,递归的优点越明显
缺点:
递归会占用大量的系统堆栈,内存消耗多
递归调用层次多时速度会比循环慢的多
tips:
1.任何能用递归解决的问题也能用迭代来解决。递归可以更自然的反映问题本身,易于理解与调试,在不强调效率时可以采用递归
2.在要求高性能的情况下尽量不要用递归方法,因为递归既花时间又费内存
计算阶乘时递归和迭代方法占用内存情况:
循环(迭代):
递归:
二分查找条件:
二分查找的递归与迭代实现
循环实现二分查找:
递归实现二分查找: