二叉树主函数通用代码
时间: 2024-01-07 07:23:10 浏览: 29
以下是一个通用的二叉树主函数的代码示例:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def main():
# 创建二叉树
root = TreeNode(1)
root.left = TreeNode(2)
root.right = TreeNode(3)
root.left.left = TreeNode(4)
root.left.right = TreeNode(5)
# 调用二叉树遍历函数
# 这里可以根据需要选择前序、中序或后序遍历
# 例如,调用前序遍历函数
preorder(root)
def preorder(root):
if root is None:
return
# 前序遍历逻辑
print(root.val)
preorder(root.left)
preorder(root.right)
if __name__ == "__main__":
main()
```
这个代码示例中,我们定义了一个`TreeNode`类来表示二叉树的节点。`TreeNode`类有一个`val`属性表示节点的值,以及`left`和`right`属性分别表示左子树和右子树。
在`main`函数中,我们创建了一个二叉树,并调用了前序遍历函数`preorder`来遍历二叉树。你可以根据需要选择前序、中序或后序遍历函数来实现你的逻辑。
在`preorder`函数中,我们首先判断当前节点是否为空,如果为空则返回。然后打印当前节点的值,然后递归调用`preorder`函数遍历左子树和右子树。
相关推荐
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)