Interview Core
The mainstream set a university course or an interview loop expects, easiest first.
180 stops over 77 lessons, teaching 227 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.
180stops, 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
- Stable Sorting: Selection sort flips itComplexity Analysis
- 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
- 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
- LRU Cache: A hit moves the node to the frontData Structures · 2 topics
- Queue: Enqueue, dequeue, peekData Structures · 3 topics
- Circular Queue: Rear wraps aroundData Structures
- Deque: Push and pop at both endsData Structures
- 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 · 2 topics
- BFS and DFS: Three componentsGraph Traversal
- DFS Checks: Recursive DFS and its call stackGraph Traversal
- 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
- Stacks for Expressions: Evaluate postfixStack and Queue Algorithms
- 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 · 2 topics
- Bit Manipulation: Read one bitBit Manipulation
- Bit Manipulation: Clear a bit that was 1Bit Manipulation
- Bit Manipulation: Count the 1s, Kernighan styleBit Manipulation · 2 topics
- Bit Manipulation: Set a bit that was 0Bit Manipulation
- Bit Manipulation: Flip a bitBit Manipulation
- XOR Tricks: Swap without a temporaryBit 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
- Number Theory Basics: Prime factors of 360Mathematics
- Sieve of Eratosthenes: Primes up to 30Mathematics
- Multiples, Powers, Pascal: lcm of 4 and 6Mathematics
- Multiples, Powers, Pascal: C(5, 2)Mathematics
- Shortest Paths: Dijkstra on directed edgesData Structures
- Shortest Paths: Dijkstra from 0Data Structures · 2 topics
- Minimum Spanning Tree: Kruskal, cheapest edges firstData Structures · 2 topics
- Plane Geometry: Points, a vector and a distanceComputational Geometry · 3 topics
- Plane Geometry: A left turnComputational Geometry · 2 topics
- Plane Geometry: Monotone chain hullComputational Geometry
- Plane Geometry: Two segments that crossComputational Geometry
- Plane Geometry: Shoelace area of a pentagonComputational Geometry
- Extended Euclid: gcd(48, 18) with coefficientsMathematics
- Number Theory Basics: 3 to the 13, mod 7Mathematics
- Multiples, Powers, Pascal: 3 to the 6 mod 7Mathematics
- Multiples, Powers, Pascal: Inverse of 3 mod 11Mathematics
- 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 collisionData Structures · 2 topics
- Hash Table: Delete leaves a markerHashing
- Hash Map: Filling buckets, with collisionsData Structures · 2 topics
- Frequency Map: First value seen beforeProblem-Solving Patterns
- Prefix Sum and Kadane: Count subarrays summing to 7Array Algorithms and Techniques
- Prefix Sum and Kadane: Kadane on a mixed arrayArray Algorithms and Techniques · 2 topics
- String Matching: Rabin-Karp rolling hashString Algorithms
- String Matching: Prefix function of a patternString Algorithms
- String Matching: KMP, no re-readingString Algorithms
- XOR Tricks: Find the single numberBit Manipulation
- Bitmask: A set in one integerBit Manipulation
- Bitmask: Every subset of threeBit Manipulation
- Bit Manipulation: 64 is a power of twoBit Manipulation
- Bit Manipulation: Isolate the lowest 1Bit Manipulation
- Counting and Radix Sort: Counting sort, repeated keysSorting
- Counting and Radix Sort: Radix sort, ones then tensSorting
- Matrix: 2D prefix sumRange Queries
- Difference Array: Three overlapping rangesArray Algorithms and Techniques
- Flood Fill: Count the islandsGraph Traversal
- Trie: Insert words sharing prefixesData Structures · 2 topics
- Trie: Search for a stored wordString Algorithms
- Trie: Autocomplete: everything under caString Algorithms
- DP on a Grid: Cheapest pathDynamic Programming
- Knapsack: 0/1 knapsack, capacity 7Dynamic Programming
- Knapsack: Unbounded, the same itemsDynamic Programming
- String DP: LCS of abcde and aceDynamic Programming
- String DP: kitten to sittingDynamic Programming
- String DP: Longest common substringDynamic Programming
- All-Pairs Shortest Paths: Four vertices, three rounds of gainsShortest Path
- BST Queries: Successor from an ancestorTree Algorithms
- BST Queries: Values between 35 and 65Tree Algorithms
- BST Queries: Lowest common ancestorTree Algorithms
- Binary Search Tree: Delete a node with two children (30)Tree Algorithms
- DFS Checks: An undirected cycleGraph Traversal
- DFS Checks: Two-colouring an even cycleGraph Traversal
- Topological Sort: Kahn's algorithmData Structures · 2 topics
- Topological Sort: DFS finish orderConnectivity and Topological Order
- 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
- K-th Largest: Third largest of nineHeap Algorithms
- Heap Sort: Eight valuesSorting
- Merging Sorted Lists: Three lists through a heapLinked List Algorithms
- Shortest Paths: Bellman-Ford from 0Shortest Path
- Huffman Coding: The classic: five characters, very skewedGreedy
- Union-Find: Merging sets by sizeData Structures
- Union-Find: Path compression at workConnectivity and Topological Order
- 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: House robberDynamic Programming
- DP in One Row: Fewest coins for 6 from 1, 3, 4Dynamic Programming
- DP in One Row: Maximum subarrayDynamic Programming
- DP in One Row: Longest increasing subsequenceDynamic Programming
- Merge Sort: Eight valuesSorting
- Minimum Spanning Tree: Prim, growing from 0Minimum Spanning Tree
- Two Pointer Problems: Three sum to zeroTwo Pointers
- Two Pointer Problems: Container with most waterTwo Pointers
- Build and Validate a BST: Seven sorted values, balancedTree Algorithms
- Build and Validate a BST: Swap two values and catch itTree Algorithms
- Backtracking: 4 queens, with backtrackingBacktracking · 2 topics
- Backtracking: A maze with a dead endBacktracking
- Backtracking: Word search with a dead endBacktracking
- Enumeration: All orderings of threeBacktracking
- Enumeration: All subsets of threeBacktracking
- Enumeration: Choose 2 of 4Backtracking
- Enumeration: Sums to 7 with repeats allowedBacktracking
- Monotonic Stack: Next greater elementData Structures · 2 topics
- Stacks for Expressions: Evaluate infix with two stacksStack and Queue Algorithms
- Stacks for Expressions: Infix to postfixStack and Queue Algorithms
- The Call Stack: Tail recursion reuses the frameRecursion
- Complexity in Numbers: Appends to a doubling arrayComplexity Analysis
- Complexity in Numbers: 3n + 5 is Theta(n)Complexity Analysis
- Rehashing: One rehashHashing
- Rehashing: Collisions before the rehashHashing
- Greedy Choice: Coins where greedy failsAlgorithmic Paradigms
- Fractional Knapsack: The classic three itemsGreedy
- Intervals and Greedy Choices: Assigning roomsGreedy
- Intervals and Greedy Choices: How many roomsGreedy
- Intervals and Greedy Choices: Earliest finish firstGreedy
- Fast and Slow Pointers: Find the middle of sevenTwo Pointers · 2 topics
- Fast and Slow Pointers: A list that loopsLinked List Algorithms
- Fast and Slow Pointers: Where the loop beginsLinked List Algorithms
- Fast and Slow Pointers: Remove the 2nd from the endLinked List Algorithms
- Quick Sort: Seven valuesArray Algorithms and Techniques · 2 topics
- Rotate, Partition, Select: The 4th smallestSorting
- Rotate, Partition, Select: Sort into less, equal, greaterArray Algorithms and Techniques
- Rotate, Partition, Select: Rotate right by 3Array Algorithms and Techniques
- Sliding Window: Largest sum of 3 in a rowSliding Window · 3 topics
- Sliding Window: Shortest run summing to 7Sliding Window
- Frequency Map Window: At most 2 distinctSliding Window
- Substring Windows: Longest run without a repeatSliding Window
- Sliding Window Maximum: Maximum of every 3Data Structures
- Search on the Answer: Least ship capacity in 5 daysProblem-Solving Patterns
- Segment Tree: Minimum of indices 1 to 6Range Queries
- AVL Tree: A longer mixed sequenceData Structures
- AVL Tree: Already balanced, no rotationsTree Algorithms
- AVL Tree: Right-right needs a left rotationTree Algorithms
- AVL Tree: Left-left needs a right rotationTree Algorithms
Not this one?
Foundations covers the same curriculum with a different reach, and every topic is reachable on its own through the 29 categories.