All tracks
Algorithms & Programming
Complexity, data structures, DP, and Monte Carlo.
Prerequisites: None (entry point)
- 1Complexity and Core Data StructuresBig-O analysis and the four structures behind most quant coding answers: arrays, hash maps, heaps, and stacks and queues, plus what the coding round actually looks like.
- 2Arrays, Hashing, Two Pointers and Sliding WindowsFour patterns that turn O(n²) array scans into O(n) or O(n log n): hash map lookups, prefix sums, two pointers on sorted data, and sliding windows.
- 3Sorting and RecursionRecursion and divide and conquer with the master theorem, the main sorting algorithms and their costs, counting inversions with merge sort, and binary search from sorted arrays to implied volatility.
- 4Dynamic ProgrammingSpot overlapping subproblems, cache them by memoization or tabulation, and apply the pattern to coin change, streak probabilities and the egg drop puzzle.
- 5Graphs: BFS, DFS and Shortest PathsHow to store a graph, when to reach for BFS, DFS, topological sort or Dijkstra, and how each one looks in twenty lines of Python.
- 6Simulation and Random SamplingChecking probability answers by Monte Carlo, shuffling with Fisher-Yates, sampling a stream with a reservoir, and building one distribution from another by rejection.
Practice
The problem bank has 33 interview problems on this material, with hints and full solutions.
Practice 33 related problems