The first thing before starting is to know about the game. In order to know more, first we need to know about various data structures and common algorithms. Here is the list of data structures.
NOTE: Every Link will be updated while we progress.
Stage 1: Understanding the Data Structures
Here is the starting point. First, we need to go through the following data structures:
| Data Structures | Published (Blog Link) /Not Published | Video Link |
| Arrays | Array: All we need to know | Part-1 & Part-2 Note: They are in two parts, because there was some glich, in the first live |
| Strings (StringBuilder, char arrays) | Not Published | No Link |
| ArrayList | Not Published | No Link |
| LinkedList | Not Published | No Link |
| HashMap* | Not Published | No Link |
| HashSet | Not Published | No Link |
| Stack | Not Published | No Link |
| Queue (LinkedList / ArrayDeque) | Not Published | No Link |
| PriorityQueue (Heap)* (Min-Heap / Max-Heap) | Not Published | No Link |
| Comparator | Not Published | No Link |
| Collections.sort() | Not Published | No Link |
| Tree | Not Published | No Link |
| Binary Search Tree | Not Published | No Link |
| Tree traversals (DFS, BFS) | Not Published | No Link |
| Graph – Adjacency List, BFS, DFS | Not Published | No Link |
| Recursion | Not Published | No Link |
Stage 2: Understanding DSA Theory
After understanding these data structures, we can start digging into the theory of DSA, which involves understanding Big O Notation.
| Building the Understanding | Published (Blog Link) / Not Published | Video Link |
| Big O Notation | Not Published | No Link |
| O(1), O(log n), O(n), O(n log n), O(n²) | Not Published | No Link |
| When HashMap is O(1) and when it becomes O(n) | Not Published | No Link |
After understanding the structures and basics of DSA Theory, now we are ready to deep dive into the game.
Stage 3: Solving Through Patterns
Typically, we will start with the understanding of the pattern first, and then we will solve questions. We will divide the questions into three categories: EASY (5), MEDIUM (4), and HARD (3).
These are the main patterns:
- Two Pointers
- Sliding Window
- Prefix Sum
- Binary Search
- Recursion & Backtracking
- Stack & Monotonic Stack
- Linked List Patterns
- Trees (DFS / BFS)
- Heaps (Top K / Merge)
- Graphs
- Dynamic Programming
- Greedy
We’ll go deep into each. and solve questions accordingly.
NOTE: Every Link will be updated while we progress.
