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.