二叉树递归算法的代码实现
时间: 2024-11-11 10:13:33 浏览: 3
二叉树的递归算法通常用于遍历操作,比如前序、中序和后序遍历。以下是使用Python语言的简单示例:
1. **前序遍历 (根节点 -> 左子树 -> 右子树)**:
```python
def pre_order_traversal(root):
if root is not None:
print(root.val) # 访问根节点
pre_order_traversal(root.left) # 递归左子树
pre_order_traversal(root.right) # 递归右子树
```
2. **中序遍历 (左子树 -> 根节点 -> 右子树)**:
```python
def in_order_traversal(root):
if root is not None:
in_order_traversal(root.left) # 递归左子树
print(root.val) # 访问根节点
in_order_traversal(root.right) # 递归右子树
```
3. **后序遍历 (左子树 -> 右子树 -> 根节点)**:
```python
def post_order_traversal(root):
if root is not None:
post_order_traversal(root.left) # 递归左子树
post_order_traversal(root.right) # 递归右子树
print(root.val) # 访问根节点
```
请注意,这里的`root`通常是一个二叉树的节点类实例,它有一个值属性`val`和指向左右子节点的引用`left`和`right`。
阅读全文