python链表实现二叉树遍历
时间: 2023-10-09 08:17:40 浏览: 103
首先,我们需要创建一个节点类来表示二叉树中的节点:
```python
class Node:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
```
然后,我们可以通过链表的方式来构建二叉树。例如,我们可以使用以下方式创建一个二叉树:
```python
root = Node(1)
root.left = Node(2)
root.right = Node(3)
root.left.left = Node(4)
root.left.right = Node(5)
root.right.left = Node(6)
root.right.right = Node(7)
```
接下来,我们可以使用递归的方式来实现二叉树的遍历。例如,我们可以使用以下方式实现前序遍历:
```python
def pre_order_traversal(root):
if root:
print(root.val)
pre_order_traversal(root.left)
pre_order_traversal(root.right)
```
类似地,我们可以使用以下方式实现中序遍历和后序遍历:
```python
def in_order_traversal(root):
if root:
in_order_traversal(root.left)
print(root.val)
in_order_traversal(root.right)
def post_order_traversal(root):
if root:
post_order_traversal(root.left)
post_order_traversal(root.right)
print(root.val)
```
这些遍历函数可以通过传入根节点来遍历整个二叉树。
阅读全文