举几个python常见的递归例子
时间: 2023-06-28 10:11:11 浏览: 73
下面是几个常见的 Python 递归例子:
1. 计算斐波那契数列的第 n 项:
```python
def fibonacci(n):
if n <= 1:
return n
else:
return (fibonacci(n-1) + fibonacci(n-2))
```
2. 计算阶乘:
```python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
```
3. 求解汉诺塔问题:
```python
def hanoi(n, source, target, auxiliary):
if n > 0:
hanoi(n-1, source, auxiliary, target)
print("Move disk", n, "from", source, "to", target)
hanoi(n-1, auxiliary, target, source)
```
4. 查找二叉树中的最大值:
```python
def find_max(tree):
if tree.right is None:
return tree.value
else:
return find_max(tree.right)
```
注意:递归可能会在某些情况下导致性能问题或堆栈溢出。因此,在使用递归时,需要仔细考虑递归条件和退出条件。