温馨提示×

Python TreeNode类如何实现二叉树

小樊
85
2024-08-17 16:18:35
栏目: 编程语言

以下是一个示例实现Python中二叉树的TreeNode类:

class TreeNode:
    def __init__(self, value):
        self.value = value
        self.left = None
        self.right = None

    def insert_left(self, value):
        if self.left is None:
            self.left = TreeNode(value)
        else:
            new_node = TreeNode(value)
            new_node.left = self.left
            self.left = new_node

    def insert_right(self, value):
        if self.right is None:
            self.right = TreeNode(value)
        else:
            new_node = TreeNode(value)
            new_node.right = self.right
            self.right = new_node

# 创建一个二叉树
root = TreeNode(1)
root.insert_left(2)
root.insert_right(3)
root.left.insert_left(4)
root.left.insert_right(5)
root.right.insert_left(6)
root.right.insert_right(7)

# 遍历二叉树
def inorder_traversal(node):
    if node:
        inorder_traversal(node.left)
        print(node.value)
        inorder_traversal(node.right)

inorder_traversal(root)

在上面的示例中,我们定义了一个TreeNode类,其中包含节点的值以及左子节点和右子节点。我们还实现了insert_left()和insert_right()方法来插入左子节点和右子节点。最后,我们创建了一个二叉树,并通过inorder_traversal()函数来进行中序遍历。

0