class TreeNode:
def __init__(self, value):
self.value = value
self.left = None
self.right = None
def insert_node(root, value):
if root is None:
return TreeNode(value)
if value < root.value:
root.left = insert_node(root.left, value)
else:
root.right = insert_node(root.right, value)
return root
def build_tree(values):
root = None
for value in values:
root = insert_node(root, value)
return root
# 前序遍歷函數
def preorder_traversal(node, result):
if node is not None:
# 處理當前節點
result.append(node.value)
# 遞迴遍歷左子樹
preorder_traversal(node.left, result)
# 遞迴遍歷右子樹
preorder_traversal(node.right, result)
return result
# 建立二元樹
values = [6, 3, 5, 7, 9, 10, 8, 1, 4, 2]
tree_root = build_tree(values)
# 獲取後序遍歷結果
preorder_result = preorder_traversal(tree_root, [])
# 輸出結果
print("前序遍歷結果:", preorder_result)
# result
# 前序遍歷結果: [6, 3, 1, 2, 5, 4, 7, 9, 8, 10]
沒有留言:
張貼留言