|8. Trees आणि Binary Search Tree
Chapter 8DSA (Data Structures & Algorithms)~1 min read

Trees आणि Binary Search Tree

Hierarchical Data Structures

Tree हे hierarchical data structure आहे. Binary Tree मध्ये प्रत्येक node ला जास्तीत जास्त 2 children असतात. Binary Search Tree (BST) मध्ये left < parent < right — हे property search O(log n) करतं.

BST Node आणि Insert

python
class TreeNode:
    def __init__(self, val):
        self.val = val
        self.left = None
        self.right = None

class BST:
    def __init__(self):
        self.root = None

    def insert(self, val):
        self.root = self._insert(self.root, val)

    def _insert(self, node, val):
        if not node:
            return TreeNode(val)
        if val < node.val:
            node.left = self._insert(node.left, val)
        elif val > node.val:
            node.right = self._insert(node.right, val)
        return node

    def search(self, val):
        return self._search(self.root, val)

    def _search(self, node, val):
        if not node:
            return False
        if val == node.val:
            return True
        elif val < node.val:
            return self._search(node.left, val)
        else:
            return self._search(node.right, val)

Tree Traversals

python
def inorder(node):    # Left → Root → Right (sorted order!)
    if node:
        inorder(node.left)
        print(node.val, end=" ")
        inorder(node.right)

def preorder(node):   # Root → Left → Right
    if node:
        print(node.val, end=" ")
        preorder(node.left)
        preorder(node.right)

def postorder(node):  # Left → Right → Root
    if node:
        postorder(node.left)
        postorder(node.right)
        print(node.val, end=" ")

# BST: 5 inserted, then 3, 7, 1, 4
# Inorder: 1 3 4 5 7 (sorted!)
💡

BST Inorder traversal नेहमी sorted order मध्ये elements देतो. हे property अनेक interview problems मध्ये काम येतं.

Key Points — लक्षात ठेवा

  • BST: left < parent < right
  • Search/Insert: O(log n) average, O(n) worst
  • Inorder traversal = sorted order
  • Height-balanced BST (AVL, Red-Black) — O(log n) guaranteed
  • Level-order traversal — Queue वापरतो (BFS)
0/10 chapters पूर्ण