编写程序实现二叉树的建树、先序递归遍历、中序递归遍历、后序递归遍历
时间: 2023-09-17 11:15:07 浏览: 84
好的,关于二叉树的建树,可以使用递归方式,具体实现可以参考以下代码(以 Python为例):
```python
class TreeNode:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
def build_tree(preorder, inorder):
if not preorder or not inorder:
return None
root = TreeNode(preorder[0])
mid = inorder.index(preorder[0])
root.left = build_tree(preorder[1:mid+1], inorder[:mid])
root.right = build_tree(preorder[mid+1:], inorder[mid+1:])
return root
```
实现先序、中序、后续遍历也可以使用类似的递归方式,具体代码如下:
```python
def preorder_traversal(root):
if not root:
return None
print(root.val)
preorder_traversal(root.left)
preorder_traversal(root.right)
def inorder_traversal(root):
if not root:
return None
inorder_traversal(root.left)
print(root.val)
inorder_traversal(root.right)
def postorder_traversal(root):
if not root:
return None
postorder_traversal(root.left)
postorder_traversal(root.right)
print(root.val)
```
希望这些代码能对你有所帮助。
阅读全文