Algorithms & Quant Development

The algorithmic toolkit behind quant-developer interviews: complexity, core data structures, search, sorting, dynamic programming and randomized algorithms.

Lessons · recommended order

  1. 1Big-O NotationBig-O describes how an algorithm's running time or space grows with input size, ignoring constants and lower-order terms.
    Foundations
    7 min
  2. 2Arrays, Hash Tables & HeapsChoosing the right data structure — array, hash table, or heap — is often the entire solution to a quant-dev problem.
    Foundations
    9 min
  3. 3Binary SearchBinary search finds a target in a sorted array in $O(\log n)$ by repeatedly halving the search space.
    Foundations
    6 min
  4. 4Sorting AlgorithmsComparison-based sorting is bounded below by $O(n\log n)$; know merge sort, quicksort, and heapsort tradeoffs.
    Foundations
    8 min
  5. 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.
    Intermediate
    9 min
  6. 6Dynamic ProgrammingDynamic programming solves problems with overlapping subproblems and optimal substructure by caching subproblem results.
    Intermediate
    9 min
  7. 7Randomized AlgorithmsReservoir sampling, rejection sampling, and Fisher–Yates shuffling use randomness to solve sampling problems correctly and efficiently.
    Intermediate
    8 min