1.1 What is Data Structures and Algorithms?
1.2 Why DSA is important for Developers
1.3 How to approach Problem Solving
1.4 Time & Space Complexity – Big O, Big Θ, Big Ω
2.1 Recursion – Concepts & Practice Problems
2.2 Iteration vs Recursion
2.3 Mathematics for DSA (GCD, LCM, Modular Arithmetic, Prime Numbers)
2.4 Bit Manipulation Tricks
3.1 Introduction to Arrays
3.2 Searching (Linear & Binary Search)
3.3 Sorting Algorithms (Bubble, Selection, Insertion, Merge, Quick, Heap)
3.4 Prefix Sum & Sliding Window Techniques
3.5 Two Pointer Technique
3.6 Strings – Basics, Palindromes, Substrings, Pattern Matching
4.1 Singly Linked List – Creation, Traversal, Insertion, Deletion
4.2 Doubly Linked List
4.3 Circular Linked List
4.4 Fast & Slow Pointer Problems (Cycle Detection, Middle Element)
5.1 Stack – Implementation & Applications (Balanced Parentheses, Infix/Postfix)
5.2 Queue – Simple, Circular, Deque
5.3 Priority Queue / Heap
5.4 Monotonic Stack & Queue Problems
6.1 Binary Tree – Basics & Traversals (Inorder, Preorder, Postorder, Level Order)
6.2 Binary Search Tree (BST)
6.3 Lowest Common Ancestor (LCA)
6.4 Tree Diameter, Height, Depth
6.5 Advanced Trees – AVL, Segment Tree, Fenwick Tree
7.1 Graph Representation (Adjacency List/Matrix)
7.2 BFS & DFS Traversal
7.3 Shortest Path Algorithms (Dijkstra, Bellman-Ford, Floyd-Warshall)
7.4 Minimum Spanning Tree (Prim’s, Kruskal’s)
7.5 Topological Sort
7.6 Connected Components & Union-Find (DSU)
8.1 Hash Tables – Basics & Implementation
8.2 Collision Handling (Chaining, Open Addressing)
8.3 Problems using HashMap/Set (Subarray Sum, Frequency Count)
9.1 Introduction to DP – Memoization vs Tabulation
9.2 Classic Problems (Fibonacci, Coin Change, Knapsack, LIS, LCS)
9.3 Matrix DP (Minimum Path, Unique Paths)
9.4 DP on Strings (Edit Distance, Palindrome Partitioning)
9.5 DP on Trees & Graphs
9.6 Advanced DP (Bitmask DP, Digit DP)
10.1 Greedy Algorithms
10.2 Backtracking (N-Queens, Sudoku Solver)
10.3 Divide & Conquer Techniques
10.4 Tries (Prefix Trees)
10.5 Disjoint Set Union (DSU/Union-Find)
10.6 Advanced Graph Algorithms (Network Flow, Bridges & Articulation Points)
11.1 How to approach coding interview problems
11.2 Patterns in problems (Sliding Window, Two Pointers, Binary Search on Answer, etc.)
11.3 Competitive Programming Tips
11.4 Common Mistakes & Debugging Tricks
12.1 Array & String Problems
12.2 Linked List & Tree Problems
12.3 Graph Problems
12.4 DP & Backtracking Problems
12.5 Mixed-Level Challenges
No comments yet. Be the first to comment.
1.4 Time & Space Complexity – Big O, Big Θ, Big Ω When learning Data Struct...
1.3 How to Approach Problem Solving One of the most valuable skills every developer must master i...
1.2 Why DSA is Important for Developers When it comes to building efficient and scalable software...
1.1 What is Data Structures and Algorithms? When we talk about computer science and programming,...