Data Structures & Algorithms
DSA Part-1
- Introduction to Data Structures
- Asymptotic Notations: Big-O, Omega, and Theta Notations
- Time Complexity and Space Complexity Analysis of Algorithms
- 1D Arrays: Memory Representation and Address Calculation
- 2D Arrays: Row-Major and Column-Major Order Formulas and Numericals
- Array Operations: Traversal, Insertion, and Deletion with Algorithms
- Sparse Matrix: Triplet Representation and Linked Representation
- String Operations, Memory Storage, and Pattern Matching Basics
- Linear Search Algorithm and Complexity Analysis
- Binary Search Algorithm (Iterative and Recursive)
- Bubble Sort Algorithm and Optimization
- Selection Sort Algorithm and Step-by-Step Trace
- Insertion Sort Algorithm and In-Place Analysis
- Merge Sort Algorithm (Divide and Conquer Approach)
- Quick Sort Algorithm and Partitioning Methods
- Counting Sort Algorithm (Non-Comparison Sorting)
- Radix Sort Algorithm and Bucket Distribution
DSA Part-2
- Singly Linked List: Concept and Memory Allocation
- Singly Linked List: Insertion Operations
- Singly Linked List: Deletion Operations
- Singly Linked List: Reversal and Search Operations
- Doubly Linked List: Node Structure and Traversal
- Doubly Linked List: Insertion and Deletion Operations
- Circular Singly Linked List: Concept and Operations
- Circular Doubly Linked List: Concept and Operations
- Header Linked List: Grounded and Circular Header Lists
- Polynomial Representation and Addition using Linked List
DSA Part-3
- Stack Data Structure: Array Implementation
- Stack Implementation using Linked List
- Infix, Prefix, and Postfix Notations
- Infix to Postfix Conversion using Stack
- Infix to Prefix Conversion using Stack
- Evaluation of Postfix Expression using Stack
- Recursion and System Stack (Tower of Hanoi)
- Linear Queue: Array Implementation and Operations
- Drawbacks of Linear Queue and Memory Wastage
- Circular Queue: Array Implementation and Condition Checks
- Queue Implementation using Linked List
- Double-Ended Queue (Deque): Input and Output-Restricted
- Priority Queue: Concept, Array and Heap Representation
DSA Part-4
- Tree Data Structure: Terminology and Basic Concepts
- Binary Trees: Types and Properties
- Binary Tree Traversals: Inorder, Preorder, and Postorder
- Level Order Traversal of Binary Tree
- Binary Search Tree (BST): Concept and Search Operation
- Binary Search Tree (BST): Insertion and Deletion Operations
- AVL Tree: Concept and Balance Factor
- AVL Tree Rotations: LL, RR, LR, and RL Rotations
- Binary Heap: Min-Heap and Max-Heap Properties
- Heap Operations: Heapify, Insertion, and Deletion
- B-Tree: Properties, Structure, and Insertion
- B+ Tree: Structure and Comparison with B-Tree
DSA Part-5
- Graph Data Structure: Terminology and Types
- Graph Representation: Adjacency Matrix and Adjacency List
- Breadth First Search (BFS) Algorithm for Graphs
- Depth First Search (DFS) Algorithm for Graphs
- Hashing: Hash Tables and Hash Functions
- Collision Resolution: Open Addressing Techniques
- Collision Resolution: Separate Chaining Method
Binary Trees: Types and Properties
Binary Tree ek aisi tree data structure hoti hai jisme har node ke at most 2 children ho sakte hain, jinhe typically Left Child aur Right Child kaha jata hai (Degree of every node <= 2).
Types of Binary Trees
Full Binary Tree: Complete Binary Tree: Perfect Binary Tree:
(A) (A) (A)
/ \ / \ / \
(B) (C) (B) (C) (B) (C)
/ \ / \ / \ / \
(D) (E) (D) (E) (D) (E)(F) (G)
(Every node 0 or 2) (All levels full except (All internal nodes 2,
last, filled left-to-right) all leaves at same level)
- Full / Strict Binary Tree: Har node ke paas ya toh exactly 0 children hote hain ya exactly 2 children hote hain. Koi bhi node single child nahi rakhta.
- Complete Binary Tree: Sabhi levels completely filled hote hain, except possibly the last level, aur last level ke saare nodes as far left as possible pack hote hain. (Binary Heap ka foundation).
- Perfect Binary Tree: Sabhi internal nodes ke 2 children hote hain aur saare leaf nodes strictly same level par hote hain.
- Degenerate / Skewed Binary Tree: Har internal node ke paas sirf 1 child hota hai (Left-skewed ya Right-skewed). Yeh functionally ek linked list ban jata hai with O(n) height.
- Balanced Binary Tree: Har node par left aur right subtrees ki height ka difference at most 1 hota hai (e.g. AVL Tree). Height hamesha
O(log n)hoti hai.
Important Mathematical Properties (GATE & Exam Formulas)
- Level
ipar maximum nodes =2^i(jahan root level 0 par hai). - Height
hke binary tree me maximum nodes =2^(h+1) - 1. - N nodes ke binary tree ki minimum possible height =
ceil(log2(N + 1)) - 1. - Kisi bhi non-empty binary tree me, agar
n0leaf nodes hain aurn2degree-2 nodes hain, toh hamesha:n0 = n2 + 1.
Agli post me hum cover karenge Binary Tree Traversals: Inorder, Preorder, and Postorder.