SwadhyAI Notes

All Python notes

Python Tree 🌳

Tree Data Structure

Tree represents the nodes connected by edges. We will discuss binary tree or binary search tree specifically. Binary Tree is a special datastructure used for data storage purposes. A binary tree has a special condition that each node can have a maximum of two children.

✨ Creating a Root

We just create a Node class and add assign a value to the node. This becomes tree with only a root node.

python
class Node:
    def __init__(self, data):
        self.left = None
        self.right = None
        self.data = data

    def PrintTree(self):
        print(self.data)

root = Node(10)
root.PrintTree()

🌱 Inserting into a Tree

To insert into a tree we use the same node class created above and add a insert method to it.

python
class Node:
    def __init__(self, data):
        self.left = None
        self.right = None
        self.data = data

    def insert(self, data):
# Compare the new value with the parent node
        if self.data:
            if data < self.data:
                if self.left is None:
                    self.left = Node(data)
                else:
                    self.left.insert(data)
            elif data > self.data:
                if self.right is None:
                    self.right = Node(data)
                else:
                    self.right.insert(data)
        else:
            self.data = data

# Print the tree
    def PrintTree(self):
        if self.left:
            self.left.PrintTree()
        print( self.data),
        if self.right:
            self.right.PrintTree()

root = Node(12)
root.insert(6)
root.insert(14)
root.insert(3)

root.PrintTree()

🎮 Interactive Tree Demo

ℹ️ Ready to build a Binary Tree!
Empty Tree

✨ Pro Tip

Trees are hierarchical data structures, unlike Arrays, Linked Lists, Stacks and Queues which are linear data structures.