Programming practice

Data Structures & Algorithms

It is not 500 problems.
It is ten patterns and one way of seeing.

Most people grind hundreds of problems and still freeze in the interview, because they were memorizing answers instead of learning to recognize shapes. We do it the other way around. You learn to measure code, master the handful of structures everything is built from, and see the pattern hiding inside the question. Do that, and the problems start solving themselves.

Start with Big O25 lessons · 33 problems · about 9 hours

The whole subject, in one breath

1Measure

Big O: judge any solution before you trust it.

2Store

Arrays, lists, stacks, hash maps, trees, graphs.

3Traverse

Recursion, DFS and BFS: visit everything, cleanly.

4Recognize

The named patterns that win interviews.

By the end, you can

Read any solution and know if it scales

Glance at code and call its Big O before you run it.

Turn brute force into elegant

Spot when a hash map or two pointers drops O(n squared) to O(n).

Walk trees and graphs without fear

DFS and BFS become one calm, reusable habit.

Recognize the pattern under the question

See the five shapes that most interview problems are built from.

The climb, ten steps

Each step is motivated by the last. The color warms as the ground gets steeper.

Step 1

Complexity & Thinking

2 lessons

Before you write a line, you learn to judge code. Two correct answers exist for every problem, and Big O is how an interviewer tells which one gets hired.

Step 4

Recursion

2 lessons

The scary one, made calm. A function that trusts itself to solve the smaller version. Get comfortable here and trees and graphs stop being hard.

Step 5

Hash Maps & Sets

2 lessons

The cheat code. A surprising number of "hard" problems quietly collapse to O(n) the second you reach for a hash map. This is the highest-leverage rung.

Step 7

Graphs

2 lessons

Almost everything is a graph: maps, friend lists, dependencies, the internet. Two traversals, BFS and DFS, and you can reason about all of it.

Step 8

Dynamic Programming

2 lessons

The one people fear most, defused. Dynamic programming is just recursion that remembers what it already worked out. We make it boring, in the good way.

Step 9

Greedy & Heaps

2 lessons

Sometimes the greedy, obvious choice is the right one, and sometimes it is a trap. You learn to tell which, and heaps keep the best option one peek away.

Step 10

Interview Patterns

2 lessons

The payoff. Sliding window plus a handful of named patterns unlock roughly four in five interview questions. This is where everything above becomes recognition.

Start at the bottom. It is closer to the top than it looks.

Big O first. Twenty minutes, and you will read code differently for the rest of your career.