Python TreeNode如何進(jìn)行樹(shù)的遍歷

小樊
93
2024-08-17 16:20:35

在Python中,可以通過(guò)遞歸的方式來(lái)實(shí)現(xiàn)樹(shù)的遍歷。下面是一個(gè)示例代碼,演示了如何實(shí)現(xiàn) TreeNode 類(lèi)和對(duì)其進(jìn)行前序、中序和后序遍歷。

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

def preorder_traversal(root):
    if root:
        print(root.value, end=' ')
        preorder_traversal(root.left)
        preorder_traversal(root.right)

def inorder_traversal(root):
    if root:
        inorder_traversal(root.left)
        print(root.value, end=' ')
        inorder_traversal(root.right)

def postorder_traversal(root):
    if root:
        postorder_traversal(root.left)
        postorder_traversal(root.right)
        print(root.value, end=' ')

# 構(gòu)建一個(gè)示例樹(shù)
root = TreeNode(1)
root.left = TreeNode(2)
root.right = TreeNode(3)
root.left.left = TreeNode(4)
root.left.right = TreeNode(5)

print("Preorder traversal:")
preorder_traversal(root)
print("\nInorder traversal:")
inorder_traversal(root)
print("\nPostorder traversal:")
postorder_traversal(root)

以上代碼演示了如何定義一個(gè)簡(jiǎn)單的 TreeNode 類(lèi),以及如何進(jìn)行前序、中序和后序遍歷。你可以根據(jù)自己的需要對(duì)以上代碼進(jìn)行修改和擴(kuò)展。

0