{}DSA Atlas

Learn every kind of DSA problem, and how to crack it.

A pattern-first course: for each topic you get the intuition, the signals that tell you to reach for it, copy-ready templates in Python and C++, fully worked problems, common bugs and a graded practice list with progress tracking.

32topics covered
414curated problems
0solved by you
0marked for review

Guides

Read these first, return to them often

Foundations

The vocabulary everything else is built on: cost models, recursion, and the core containers.

Linear Structures

Arrays, strings, lists, stacks and queues — and the tricks that make them fast.

Core Techniques

The reusable patterns behind most interview problems.

08Two Pointers

Walk two indices through a sequence to replace nested loops with a single pass — opposite ends, same direction, and across two arrays.

0/12

09Sliding Window

Maintain a contiguous window and update it incrementally. Fixed-size windows, variable windows for longest/shortest, and the 'at most K' counting trick.

0/14

10Prefix Sums & Difference Arrays

Precompute cumulative totals to answer range queries in O(1), count subarrays with a target sum (even with negatives), and apply range updates with difference arrays.

0/14

11Binary Search

Halve the search space every step. One bug-free template for boundaries, searching rotated arrays, and the powerful 'binary search on the answer' technique.

0/16

12Backtracking

Systematically explore every choice, undo it, and try the next. Subsets, permutations, combinations, constraint puzzles, and the pruning that makes them fast enough.

0/16

13Greedy Algorithms

Make the locally best choice and never look back — when it works, how to prove it (exchange argument), and the classic greedy families.

0/15

14Intervals & Sweep Line

Sorting intervals, merging and inserting, detecting overlaps, counting maximum concurrency with sweep lines and heaps.

0/13

15Bit Manipulation

Think in binary. XOR tricks, masks, counting bits, subsets as integers, and the operations that turn O(n) memory into a single machine word.

0/13

16Heaps & Priority Queues

Always know the smallest (or largest) item in O(1) and update in O(log n). Top-K, K-way merge, two heaps for medians, and scheduling simulations.

0/14

Trees & Graphs

Hierarchies and networks: traversals, shortest paths, connectivity, ordering.

Dynamic Programming

Turning exponential search into polynomial tables, one state at a time.

Advanced

Range-query structures, string algorithms, math and design problems for the final stretch.