Tree Operations
Trees are hierarchical data structures that can be manipulated using various operations. Some common operations on trees include insertion, deletion, searching, and traversal.
Insertion
To insert a new node into a tree, we need to find the appropriate position to maintain the tree's ordering property. Here's an example of how to insert a node into a binary search tree using a recursive approach in Python:
PYTHON
1# Tree node class
2
3class Node:
4    def __init__(self, value):
5        self.value = value
6        self.left = None
7        self.right = None
8
9# Insert a node
10
11def insert(root, value):
12    if root is None:
13        return Node(value)
14    else:
15        if value < root.value:
16            root.left = insert(root.left, value)
17        else:
18            root.right = insert(root.right, value)
19    return root
20
21# Create a binary search tree
22
23root = Node(50)
24insert(root, 30)
25insert(root, 70)
26insert(root, 20)
27insert(root, 40)
28insert(root, 60)
29insert(root, 80)xxxxxxxxxx80
postorder(root)# Python - Tree Operations# Tree node classclass Node:    def __init__(self, value):        self.value = value        self.left = None        self.right = None# Insert a nodedef insert(root, value):    if root is None:        return Node(value)    else:        if value < root.value:            root.left = insert(root.left, value)        else:            root.right = insert(root.right, value)    return root# Search for a valuedef search(root, value):    if root is None or root.value == value:        return root    if value < root.value:        return search(root.left, value)    return search(root.right, value)# Delete a nodeOUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment


