创建一个二叉树以二叉链表为存储结构实现先根递归遍历算法
时间: 2023-12-14 08:47:44 浏览: 76
以二叉链表作存储结构,实现先根遍历算法
以下是用 Python 语言实现的二叉树先根递归遍历算法:
```python
class Node:
def __init__(self, value):
self.value = value
self.left_child = None
self.right_child = None
def preorder_traversal(root):
if root is None:
return
print(root.value)
preorder_traversal(root.left_child)
preorder_traversal(root.right_child)
# 创建二叉树
root = Node(1)
root.left_child = Node(2)
root.right_child = Node(3)
root.left_child.left_child = Node(4)
root.left_child.right_child = Node(5)
root.right_child.left_child = Node(6)
root.right_child.right_child = Node(7)
# 先根递归遍历
preorder_traversal(root)
```
输出结果为:
```
1
2
4
5
3
6
7
```
在这个例子中,我们使用 `Node` 类创建了一个二叉树,并实现了先根递归遍历算法。首先,我们定义了 `Node` 类来表示二叉树中的节点。然后,我们定义了 `preorder_traversal` 函数来执行先根递归遍历。这个函数首先检查当前节点是否为空,如果是,函数直接返回。否则,它会打印当前节点的值,然后递归地调用 `preorder_traversal` 函数来遍历当前节点的左子树和右子树。最后,我们创建了一个二叉树并调用 `preorder_traversal` 函数来遍历整个树。
阅读全文