Python TreeNode类如何实现二叉树

avatar
作者
筋斗云
阅读量:0

以下是一个示例实现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()函数来进行中序遍历。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!