1.递归概念
调用自身的函数,并且有正确的返回条件
递归求阶乘:
def jie(n):
if n==1:
return 1
else:
return n*jie(n-1)#自己调用自己
结果:
jie(5)
120
习题及答案
0.递归在编程上的形式是如何表现的?
函数调用本身的一个行为
1.递归必须满足哪两个条件?
1)函数调用自身
2)设置了正确的返回条件
2.有没有不得不适用递归的情况?
汉诺塔,目录索引,快速排序,树结构的定义
3.递归的优缺点?
优点:
1)简化问题难度
2)有些问题使用递归代码简洁
缺点:
1)大量调用自身会非常消耗空间和时间
2)初学者容易设置错误的返回条件