上一篇
在计算机科学中,二叉树是一种非常基础且重要的数据结构。它被广泛应用于数据库索引、文件系统、表达式解析等领域。本教程将带你从零开始,使用Python语言实现并操作二叉树,即使你是编程小白也能轻松上手!
二叉树是一种树形结构,其中每个节点最多有两个子节点,分别称为左子节点和右子节点。这种结构非常适合用递归方式处理。

在 Python 中,我们通常使用类(class)来表示二叉树的节点:
class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right这个 TreeNode 类包含三个属性:
val:节点存储的值left:指向左子节点right:指向右子节点让我们手动构建如下所示的二叉树:
1 / \ 2 3 / \ 4 5
对应的 Python 代码如下:
# 创建根节点root = TreeNode(1)# 创建左右子节点root.left = TreeNode(2)root.right = TreeNode(3)# 为左子节点添加子节点root.left.left = TreeNode(4)root.left.right = TreeNode(5)遍历是访问二叉树所有节点的过程。主要有三种方式:
def preorder_traversal(root): if root is None: return [] result = [] result.append(root.val) # 访问根节点 result += preorder_traversal(root.left) # 遍历左子树 result += preorder_traversal(root.right) # 遍历右子树 return resultdef inorder_traversal(root): if root is None: return [] result = [] result += inorder_traversal(root.left) # 遍历左子树 result.append(root.val) # 访问根节点 result += inorder_traversal(root.right) # 遍历右子树 return resultdef postorder_traversal(root): if root is None: return [] result = [] result += postorder_traversal(root.left) # 遍历左子树 result += postorder_traversal(root.right) # 遍历右子树 result.append(root.val) # 访问根节点 return result对上面构建的树进行测试:
print("前序遍历:", preorder_traversal(root)) # 输出: [1, 2, 4, 5, 3]print("中序遍历:", inorder_traversal(root)) # 输出: [4, 2, 5, 1, 3]print("后序遍历:", postorder_traversal(root)) # 输出: [4, 5, 2, 3, 1]二叉搜索树(Binary Search Tree, BST)是一种特殊的二叉树,它满足以下性质:
这种结构使得查找、插入、删除操作的平均时间复杂度为 O(log n),非常适合用于实现字典或集合。
通过本教程,你已经掌握了:
这些知识是学习更高级数据结构教程的基础。建议你动手敲一遍代码,加深理解!
关键词回顾:Python二叉树、二叉树遍历、二叉搜索树、数据结构教程
本文由主机测评网于2025-12-09发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025125029.html