使用先序遍历实现二叉树
时间: 2023-11-23 12:07:55 浏览: 88
二叉树的先序遍历指的是,先遍历根节点,然后遍历左子树,最后遍历右子树。下面是使用递归实现二叉树的先序遍历的示例代码:
```python
class Node:
def __init__(self, val=None, left=None, right=None):
self.val = val
self.left = left
self.right = right
def preorder_traversal(root):
if not root:
return
print(root.val)
preorder_traversal(root.left)
preorder_traversal(root.right)
```
在这个示例代码中,我们定义了一个 `Node` 类来表示二叉树的节点。`preorder_traversal` 函数接受一个二叉树的根节点作为参数,如果节点为空则直接返回。否则,先打印当前节点的值,然后递归遍历左子树和右子树。
可以使用以下代码创建一个二叉树,并对其进行先序遍历:
```python
root = Node(1, Node(2, Node(4), Node(5)), Node(3, Node(6), Node(7)))
preorder_traversal(root) # 输出:1 2 4 5 3 6 7
```
这个示例代码中,我们创建了一个如下图所示的二叉树:
```
1
/ \
2 3
/ \ / \
4 5 6 7
```
对该二叉树进行先序遍历,应该输出:1 2 4 5 3 6 7。
阅读全文