二叉树的遍历算法源代码
时间: 2024-12-19 22:25:56 浏览: 7
二叉树的遍历主要有三种基本方式:前序遍历、中序遍历和后序遍历。以下是这些遍历算法的Python源代码示例:
1. **前序遍历 (Preorder Traversal)**:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def preorder_traversal(root):
if root is not None:
print(root.val) # 先访问根节点
preorder_traversal(root.left)
preorder_traversal(root.right)
```
2. **中序遍历 (Inorder Traversal)**:
```python
def inorder_traversal(root):
if root is not None:
inorder_traversal(root.left)
print(root.val) # 中间访问根节点
inorder_traversal(root.right)
```
3. **后序遍历 (Postorder Traversal)**:
```python
def postorder_traversal(root):
if root is not None:
postorder_traversal(root.left)
postorder_traversal(root.right)
print(root.val) # 最后访问根节点
```
在这三个函数里,`root` 参数通常是一个指向二叉树根节点的对象。遍历时会按照规定的顺序访问每个节点。
阅读全文