建立二叉树并且用前序、中序和后序递归遍历算法对二叉树进行遍历
时间: 2024-12-18 07:34:04 浏览: 4
建立二叉树通常从根节点开始,然后递归地添加左子树和右子树。对于一棵有n个节点的二叉树,你可以通过构造函数接收一个值作为根节点,然后依次添加它的左右子节点。
前序遍历(Preorder Traversal):首先访问根节点,然后递归遍历左子树,最后遍历右子树。前序遍历的顺序是根->左->右。
中序遍历(Inorder Traversal):先递归遍历左子树,然后访问根节点,最后遍历右子树。中序遍历的顺序是左->根->右。
后序遍历(Postorder Traversal):首先递归遍历左子树,接着遍历右子树,最后访问根节点。后序遍历的顺序是左->右->根。
递归实现遍历的过程可以用下面的伪代码表示:
```python
def preorder(root):
if root is not None:
print(root.value) # 访问根节点
preorder(root.left) # 遍历左子树
preorder(root.right) # 遍历右子树
def inorder(root):
if root is not None:
inorder(root.left) # 遍历左子树
print(root.value) # 访问根节点
inorder(root.right) # 遍历右子树
def postorder(root):
if root is not None:
postorder(root.left) # 遍历左子树
postorder(root.right) # 遍历右子树
print(root.value)
阅读全文