递归函数
如果一个函数的函数体内调用了函数本身,这个函数称为递归函数。
递归的基本信息
递归函数组成部分:
- 递归调用
- 递归终止条件
递归的调用过程:
- 每递归调用一次函数,都会在栈内存分配一个栈帧
- 每执行完一次函数,都会释放对应的空间
递归的优缺点:
优点 | 缺点 |
---|---|
思路、代码简单 | 占用内存多、效率低 |
代码示例:
- 计算数字的阶乘
def fac(n):
if n == 1:
return 1
else:
return n*fac(n-1)
print(fac(6)) # 720
- 斐波那契数列
def fin(n):
if n == 1 or n == 2:
return 1
else:
return fin(n-1) + fin(n-2)
print(fin(6)) # 8
# 遍历输出斐波那契数列
for item in range(1, 7):
print(fin(item), end='\t') # 1 1 2 3 5 8
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。