Notes / tag / advanced-algorithms

#advanced-algorithms

9 notes

# Data Structures Algorithms

All Data Structures Algorithms notes →

1 — Divide & Conquer Optimization

Speeding up a DP transition using divide-and-conquer or monotonic-decision-boundary tricks (e.g. the DC optimization, Knuth's optimization).

data-structures-algorithms advanced-algorithms book

2 — Convex Hull

Finding the smallest convex polygon enclosing a set of points, via Graham scan or the gift-wrapping algorithm.

data-structures-algorithms advanced-algorithms book

3 — Sweep Line

Sweeping a conceptual line across sorted events to solve interval-overlap and geometric intersection problems in O(n log n).

data-structures-algorithms advanced-algorithms book

4 — Computational Geometry

Core geometric primitives — orientation, line intersection, point-in-polygon — that geometry problems build on.

data-structures-algorithms advanced-algorithms book

5 — String Matching Advanced

Suffix arrays and suffix automata as the next level past KMP/Z-algorithm for heavy string-matching workloads.

data-structures-algorithms advanced-algorithms book

6 — FFT

Fast Fourier Transform for O(n log n) polynomial multiplication, the classic application in competitive/advanced algorithm problems.

data-structures-algorithms advanced-algorithms book

7 — Matrix Exponentiation

Representing a linear recurrence as matrix multiplication to compute the n-th term in O(log n).

data-structures-algorithms advanced-algorithms book

8 — Fast Exponentiation

Binary exponentiation for computing a^n (or a^n mod m) in O(log n) instead of O(n).

data-structures-algorithms advanced-algorithms book

9 — Randomized Algorithms

Algorithms that use randomness for expected-case guarantees — randomized QuickSelect, Monte Carlo vs. Las Vegas framing.

data-structures-algorithms advanced-algorithms book