创建二叉树节点
可以使用类或结构体来表示二叉树的节点,并定义相应的操作方法:
class TreeNode: def __init__(self, val): self.val = val self.left = None self.right = None
以下是一个具有7个节点的二叉树的创建:
root = TreeNode(1) root.left = TreeNode(2) root.right = TreeNode(3) root.left.left = TreeNode(4) root.left.right = TreeNode(5) root.right.left = TreeNode(6) root.right.right = TreeNode(7)
二叉树的遍历
前序遍历
def preorder_traversal(node): if node is not None: print(node.val) preorder_traversal(node.left) preorder_traversal(node.right)
中序遍历
def inorder_traversal(node): if node is not None: inorder_traversal(node.left) print(node.val) inorder_traversal(node.right)
后序遍历
def postorder_traversal(node): if node is not None: postorder_traversal(node.left) postorder_traversal(node.right) print(node.val)
层序遍历
def level_order_traversal(node): if node is not None: queue = [node] while queue: node = queue.pop(0) print(node.val) if node.left is not None: queue.append(node.left) if node.right is not None: queue.append(node.right)
结尾
以上是关于二叉树的详细介绍和使用示例。对于二叉树的使用,可以根据不同的需求选择不同类型的二叉树,并使用相应的遍历方法进行操作。如果您有疑问或需要进一步了解,欢迎评论区留言。
同时,如果您觉得这篇文章对您有所帮助,不妨点一下赞、评论和分享,以便更多人受益。
最后,感谢您的观看和支持!
评论留言