Algorithms & Quant Development
The algorithmic toolkit behind quant-developer interviews: complexity, core data structures, search, sorting, dynamic programming and randomized algorithms.
Lessons · recommended order
- 1Big-O NotationBig-O describes how an algorithm's running time or space grows with input size, ignoring constants and lower-order terms.Foundations7 min
- 2Arrays, Hash Tables & HeapsChoosing the right data structure — array, hash table, or heap — is often the entire solution to a quant-dev problem.Foundations9 min
- 3Binary SearchBinary search finds a target in a sorted array in $O(\log n)$ by repeatedly halving the search space.Foundations6 min
- 4Sorting AlgorithmsComparison-based sorting is bounded below by $O(n\log n)$; know merge sort, quicksort, and heapsort tradeoffs.Foundations8 min
- 5Graph Search: BFS, DFS, DijkstraBFS explores level by level for shortest paths in unweighted graphs, DFS explores depth-first, and Dijkstra generalizes BFS to weighted graphs.Intermediate9 min
- 6Dynamic ProgrammingDynamic programming solves problems with overlapping subproblems and optimal substructure by caching subproblem results.Intermediate9 min
- 7Randomized AlgorithmsReservoir sampling, rejection sampling, and Fisher–Yates shuffling use randomness to solve sampling problems correctly and efficiently.Intermediate8 min