The Ultimate DSA Plan

  • Post category:DSA
  • Reading time:2 mins read
  • Post comments:0 Comments

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 StructuresPublished (Blog Link) /Not PublishedVideo Link
ArraysArray: All we need to knowPart-1 & Part-2
Note: They are in two parts, because there was some glich, in the first live
Strings (StringBuilder, char arrays)Not PublishedNo Link
ArrayListNot PublishedNo Link
LinkedListNot PublishedNo Link
HashMap*Not PublishedNo Link
HashSetNot PublishedNo Link
StackNot PublishedNo Link
Queue (LinkedList / ArrayDeque)Not PublishedNo Link
PriorityQueue (Heap)* (Min-Heap / Max-Heap)Not PublishedNo Link
ComparatorNot PublishedNo Link
Collections.sort()Not PublishedNo Link
TreeNot PublishedNo Link
Binary Search TreeNot PublishedNo Link
Tree traversals (DFS, BFS)Not PublishedNo Link
Graph – Adjacency List, BFS, DFSNot PublishedNo Link
RecursionNot PublishedNo 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 UnderstandingPublished (Blog Link) / Not PublishedVideo 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:

  1. Two Pointers
  2. Sliding Window
  3. Prefix Sum
  4. Binary Search
  5. Recursion & Backtracking
  6. Stack & Monotonic Stack
  7. Linked List Patterns
  8. Trees (DFS / BFS)
  9. Heaps (Top K / Merge)
  10. Graphs
  11. Dynamic Programming
  12. Greedy

We’ll go deep into each. and solve questions accordingly.

NOTE: Every Link will be updated while we progress.

Leave a Reply