Foundations
Everything marked P0, in an order you can follow knowing nothing.
89 stops over 45 lessons, teaching 122 of the 382 topics in the registry. A stop is one screen, not one topic: a lesson page teaches everything on it at once, so the path stops at pages rather than sending you back to one you have read. Nothing here is hand-ordered - the order is resolved from the registry, easiest first, and never puts a topic before what it needs.
89stops, each one a screen
Start the track →- Array: Insert 7 at index 2Data Structures · 2 topics
- Array: Delete index 1Array Algorithms and Techniques
- Array: Visit every slotArray Algorithms and Techniques
- Array: Linear search, foundSearching
- Binary SearchSearching
- Two Pointers: Two sum on a sorted arrayArray Algorithms and Techniques · 4 topics
- Two Pointers: Remove duplicatesTwo Pointers · 2 topics
- Two Pointers: Reverse in placeArray Algorithms and Techniques
- Bubble SortSorting
- Insertion SortSorting
- Selection SortSorting
- Dynamic ArrayData Structures
- Singly Linked List: Reverse the listData Structures · 2 topics
- Singly Linked List: Insert at the headLinked List Algorithms
- Singly Linked List: Insert at index 2Linked List Algorithms
- Singly Linked List: TraverseLinked List Algorithms
- Singly Linked List: Delete 4Linked List Algorithms
- Singly Linked List: Insert at the tailLinked List Algorithms
- Bit Manipulation: Read one bitBit Manipulation
- Bit Manipulation: Clear a bit that was 1Bit Manipulation
- Bit Manipulation: Count the 1s, Kernighan styleBit Manipulation
- Bit Manipulation: Set a bit that was 0Bit Manipulation
- Bit Manipulation: Flip a bitBit Manipulation
- Number Theory Basics: gcd(48, 18) by EuclidMathematics · 2 topics
- Number Theory Basics: Adding on a clock of 12Mathematics
- Number Theory Basics: Is 97 prime?Mathematics
- Sieve of Eratosthenes: Primes up to 30Mathematics
- Complexity in Numbers: Six classes as n doublesComplexity Analysis
- Complexity in Numbers: Extra memory, stack includedComplexity Analysis
- Best, Average, Worst: Worst case: reversedComplexity Analysis
- Brute Force: Found near the endAlgorithmic Paradigms
- Merging Sorted Lists: Two lists, interleavingLinked List Algorithms
- Queue: Enqueue, dequeue, peekData Structures · 3 topics
- Stack: Push, pop, peekData Structures · 4 topics
- The Call Stack: fact(5) down and back upData Structures
- The Call Stack: Summing a list recursivelyRecursion
- The Call Stack: No base case, stack overflowRecursion
- Tree Traversals: Inorder comes out sortedData Structures · 2 topics
- Tree Traversals: Level order uses a queueTree Algorithms
- Tree Traversals: Postorder, root comes lastTree Algorithms
- Tree Traversals: Preorder, node before subtreesTree Algorithms
- BFS and DFS: Breadth-first from 0Data Structures · 3 topics
- BFS and DFS: Depth-first from 0Graph Traversal
- BFS and DFS: Three componentsGraph Traversal
- DFS Checks: Recursive DFS and its call stackGraph Traversal
- Shortest Paths: Dijkstra on directed edgesData Structures
- Shortest Paths: Dijkstra from 0Data Structures · 2 topics
- Binary Search Tree: Search for 45Data Structures · 2 topics
- Binary Search Tree: Insert 65Tree Algorithms
- BST Queries: Find the minimumTree Algorithms
- DP on a Grid: Paths on a 3 x 4 gridDynamic Programming · 3 topics
- String Matching: Naive, every shiftData Structures · 2 topics
- Stacks for Expressions: Balanced bracketsStack and Queue Algorithms
- Matrix: Row-major orderData Structures
- Matrix: Adjacency matrix from edgesData Structures
- Flood Fill: Fill a regionGraph Traversal
- Prefix Sum and Kadane: Range sum from prefix totalsArray Algorithms and Techniques
- Prefix Sum and Kadane: Kadane on a mixed arrayArray Algorithms and Techniques
- Knapsack: 0/1 knapsack, capacity 7Dynamic Programming
- String DP: LCS of abcde and aceDynamic Programming
- String DP: kitten to sittingDynamic Programming
- BST Queries: Successor from an ancestorTree Algorithms
- Binary Search Tree: Delete a node with two children (30)Tree Algorithms
- Binary Heap: Build a min heapData Structures · 3 topics
- Binary Heap: Build a max heapData Structures
- Binary Heap: Insert climbs to the rootData Structures · 3 topics
- Binary Heap: Extract the minimumHeap Algorithms · 2 topics
- Backtracking: 4 queens, with backtrackingBacktracking · 2 topics
- Greedy Choice: Coins where greedy failsAlgorithmic Paradigms
- Hash Table: Fill a table and watch it collideData Structures · 2 topics
- Hash Table: Find a key behind a collisionData Structures · 2 topics
- Hash Table: Insert that walks past a collisionHashing
- Hash Map: Filling buckets, with collisionsData Structures
- Frequency Map: First value seen beforeProblem-Solving Patterns
- Enumeration: All orderings of threeBacktracking
- Enumeration: All subsets of threeBacktracking
- Recursion Trees: Divide and conquer over a rangeDivide and Conquer
- Recursion Trees: fib(5), the plain treeDynamic Programming
- Recursion Trees: fib(6) with memoizationDynamic Programming · 2 topics
- DP in One Row: Fibonacci by tableDynamic Programming
- DP in One Row: Ways to climb 8 stairsDynamic Programming
- DP in One Row: Fewest coins for 6 from 1, 3, 4Dynamic Programming
- Merge Sort: Eight valuesSorting
- Number Theory Basics: 3 to the 13, mod 7Mathematics
- Fast and Slow Pointers: Find the middle of sevenTwo Pointers · 2 topics
- Fast and Slow Pointers: A list that loopsLinked List Algorithms
- Quick Sort: Seven valuesArray Algorithms and Techniques · 2 topics
- Sliding Window: Largest sum of 3 in a rowSliding Window · 3 topics
- Sliding Window: Shortest run summing to 7Sliding Window
Not this one?
Interview Core covers the same curriculum with a different reach, and every topic is reachable on its own through the 29 categories.