| 1 |
Introduction to Data Structures |
|
| 2 |
Why Data Structures are Important |
|
| 3 |
Types of Data Structures (Linear vs Non-Linear) |
|
| 4 |
Arrays - Introduction |
|
| 5 |
1D Arrays |
|
| 6 |
2D Arrays & Multidimensional Arrays |
|
| 7 |
Array Operations (Insert, Delete, Traverse, Search) |
|
| 8 |
Dynamic Arrays |
|
| 9 |
Strings - Introduction |
|
| 10 |
String Operations (Concatenation, Substring, Reverse) |
|
| 11 |
String Manipulation Problems |
|
| 12 |
Pattern Matching (Naive, KMP, Rabin-Karp) |
|
| 13 |
Linked Lists - Introduction |
|
| 14 |
Singly Linked List |
|
| 15 |
Doubly Linked List |
|
| 16 |
Circular Linked List |
|
| 17 |
Stacks - Introduction |
|
| 18 |
Stack Implementation using Array |
|
| 19 |
Stack Implementation using Linked List |
|
| 20 |
Applications of Stacks (Parentheses Matching, Expression Evaluation) |
|
| 21 |
Queues - Introduction |
|
| 22 |
Simple Queue |
|
| 23 |
Circular Queue |
|
| 24 |
Priority Queue |
|
| 25 |
Deque (Double Ended Queue) |
|
| 26 |
Hashing - Introduction |
|
| 27 |
Hash Functions |
|
| 28 |
Collision Resolution Techniques |
|
| 29 |
Open Addressing (Linear, Quadratic, Double Hashing) |
|
| 30 |
Closed Addressing (Chaining) |
|
| 31 |
Trees - Introduction |
|
| 32 |
Binary Tree |
|
| 33 |
Binary Search Tree (BST) |
|
| 34 |
Tree Traversals (Inorder, Preorder, Postorder, Level Order) |
|
| 35 |
Advanced Trees - Introduction |
|
| 36 |
AVL Tree |
|
| 37 |
Red-Black Tree |
|
| 38 |
Segment Tree |
|
| 39 |
Fenwick Tree (Binary Indexed Tree) |
|
| 40 |
Heaps - Introduction |
|
| 41 |
Min-Heap |
|
| 42 |
Max-Heap |
|
| 43 |
Heap Operations (Insert, Delete, Heapify) |
|
| 44 |
Priority Queue using Heap |
|
| 45 |
Graphs - Introduction |
|
| 46 |
Graph Representation (Adjacency Matrix, Adjacency List) |
|
| 47 |
Directed & Undirected Graphs |
|
| 48 |
Weighted & Unweighted Graphs |
|
| 49 |
Graph Traversal - BFS |
|
| 50 |
Graph Traversal - DFS |
|
| 51 |
Graph Algorithms - Dijkstra |
|
| 52 |
Graph Algorithms - Bellman-Ford |
|
| 53 |
Graph Algorithms - Floyd-Warshall |
|
| 54 |
Graph Algorithms - Prim’s Algorithm |
|
| 55 |
Graph Algorithms - Kruskal’s Algorithm |
|
| 56 |
Graph Algorithms - Topological Sort |
|
| 57 |
Trie - Introduction |
|
| 58 |
Trie Operations (Insert, Search, Delete) |
|
| 59 |
Applications of Tries (Autocomplete, Spell Checker) |
|
| 60 |
Disjoint Set (Union-Find) - Introduction |
|
| 61 |
Union by Rank |
|
| 62 |
Path Compression |
|
| 63 |
Applications of Disjoint Set |
|
| 64 |
Advanced Data Structures - Skip List |
|
| 65 |
Advanced Data Structures - Suffix Array |
|
| 66 |
Advanced Data Structures - Suffix Tree |
|
| 67 |
Balanced BST Variants (B-Trees, B+ Trees) |
|
| 68 |
Big-O Analysis (Time Complexity) |
|
| 69 |
Space Complexity |
|
| 70 |
Amortized Analysis |
|
| 71 |
Problem Solving Patterns - Sliding Window |
|
| 72 |
Problem Solving Patterns - Two Pointers |
|
| 73 |
Problem Solving Patterns - Recursion & Backtracking |
|
| 74 |
Problem Solving Patterns - Divide & Conquer |
|
| 75 |
Dynamic Programming - Introduction |
|
| 76 |
Memoization |
|
| 77 |
Tabulation |
|
| 78 |
Common DP Problems (Knapsack, LIS, LCS) |
|
| 79 |
Graph DP (DP on Trees, DP on DAGs) |
|
| 80 |
Practice & Implementation (LeetCode, Codeforces, HackerRank, etc.) |
|