DSA
58 boards, 70 lessons, 546 review questions and 23 narrated videos, in 10 chapters. Read them in order. Each chapter builds on the one before.
Start here → Complexity & Big-O
Contents
Part one · Foundations
1The toolbox7 lessons
The judge for speed, then the structures everything else is built from: arrays, hash maps, lists and stacks, trees, graphs, sorting and searching.
2Choosing the attack5 lessons
Recursion and DP, the four design families, a capstone on a problem you have never seen, and the shapes interview problems come in.
3Worked, and deeper9 lessons
The DP table filled by hand, shortest paths traced, string search, balanced and range trees, problems that are provably hard, and thinking in bits.
- 01Dynamic Programming, Worked (filling the table)9 Q
- 02DP, five more shapes8 Q
- 03Shortest Paths, Worked (Dijkstra, Bellman-Ford, A*)9 Q
- 04String Algorithms (finding the needle)9 Q
- 05Trees, Worked (rotations, B-trees, range trees)9 Q
- 06Trees, asked five ways8 Q
- 07Complexity Theory (when problems are hard)10 Q
- 08Bit Manipulation (thinking in bits)10 Q
- 09The clock that wraps around8 Q
4DSA, in Hinglish10 lessons
The same complexity-to-DP arc as the DSA track, retold in Hinglish for a reader who thinks better in it.
- 01Foundations #01 - Complexity (Big-O ka poora naksha)8 Q
- 02Foundations #02 - Recursion → Memo → Table (DP ka engine)7 Q
- 03Foundations #03 - Arrays, Do-Pointer & Sliding Window7 Q
- 04Foundations #04 - Hashing (O(1) "yaad")7 Q
- 05Foundations #05 - Sorting & Searching7 Q
- 06Foundations #06 - Stacks & Queues7 Q
- 07Foundations #07 - Linked Lists & Pointers7 Q
- 08Foundations #08 - Trees & Recursion7 Q
- 09Foundations #09 - Graphs7 Q
- 10Foundations #10 - Dynamic Programming (1D & 2D in practice)7 Q
Part two · Build
5Clinic: arrays, hashing and stacks7 lessons
Seven named interview problems worked in Hinglish: Two Sum, the sliding window, two pointers, reversing a list, and the stack and its monotonic cousin.
6Clinic: search, trees, graphs and heaps9 lessons
Nine problems worked in Hinglish: binary search twice, two tree recursions, islands and course schedule, the top-k pair, and meeting rooms.
- 01Clinic #11 - Binary Search7 Q
- 02Clinic #12 - Search in Rotated Sorted Array7 Q
- 03Clinic #09 - Maximum Depth of Binary Tree7 Q
- 04Clinic #10 - Diameter of Binary Tree7 Q
- 05Clinic #15 - Number of Islands7 Q
- 06Clinic #16 - Course Schedule7 Q
- 07Clinic #19 - Kth Largest Element in an Array8 Q
- 08Clinic #20 - Top K Frequent Elements7 Q
- 09Clinic #04 - Meeting Rooms II8 Q
7Clinic: recursion, backtracking and DP6 lessons
Six problems worked in Hinglish: subsets and combination sum, then Climbing Stairs to Longest Common Subsequence, one-dimensional DP into two.
8Worked problems, in English13 lessons
Twelve more named problems, in English: tries, Dijkstra, union-find, greedy, intervals, matrices, fast power, XOR, binary search on the answer, and Floyd's cycle.
- 01Clinic #23: Implement Trie8 Q
- 02Clinic #24: Word Search II8 Q
- 03Clinic #25: Network Delay Time7 Q
- 04Clinic #26: Redundant Connection8 Q
- 05Clinic #27: Jump Game7 Q
- 06Clinic #28: Merge Intervals8 Q
- 07Clinic #29: Non-overlapping Intervals8 Q
- 08Clinic #30: Rotate Image7 Q
- 09Clinic #31: Pow(x, n)8 Q
- 10Clinic #32: Single Number8 Q
- 11Clinic #33: Koko Eating Bananas8 Q
- 12Clinic #34: Linked List Cycle7 Q
- 13The Practice Ladders6 Q
9Built from the toolbox3 lessons
Two real tools built from lessons you already have: a line diff, first as the DP table and then as the greedy walk git uses, and an autocomplete that answers every keystroke from a trie.
Part three · Depth
10Git Diff1 lesson
Why `git diff` is fast: the DP table that dies at scale, the edit graph it's really solving, and the Myers greedy BFS that git actually ships.
Borrowed from other tracks (3)
You don't need to take those tracks. These are the only lessons this track uses from them, and each is linked where it is needed.
- The Memory Hierarchy (cache, locality, the memory wall)How Computers Work · needed for Complexity & Big-O
- How Code Becomes Execution (compilers, stack & heap)How Computers Work · needed for Recursion & Dynamic Programming
- Numbers for Real (signed ints, overflow, floating point)How Computers Work · needed for Bit Manipulation (thinking in bits)