DSA Tree Traversal
Language: Data Structures
class Node:
def __init__(self, value, left=None, right=None):
self.value = value
self.left = left
self.right = right
def preorder(node, result=None):
if result is None:
result = []
if node is None:
return result
result.append(node.value)
preorder(node.left, result)
preorder(node.right, result)
return result
# Tree: F is the root; B and G are its left and right children.
# B's children are A and D; D's children are C and E.
# G's right child is I, and I's left child is H.
root = Node('F',
Node('B', Node('A'), Node('D', Node('C'), Node('E'))),
Node('G', None, Node('I', Node('H'))))
print(preorder(root))
# ['F', 'B', 'A', 'D', 'C', 'E', 'G', 'I', 'H']Output
Click Run to execute this code.