Skip to main content

Algorithms

Step-by-step procedures for solving computational problems.

A square Kufic algorithms mark introduces the study of designed procedures.

Figure: The algorithms mark gives the abstract algorithms pages a concrete visual anchor. Image: Wikimedia Commons, Jeff Erickson, CC BY 4.0.

A quicksort animation shows bars being partitioned around pivots until the list is sorted.

Figure: Quicksort turns a partitioning rule into a visible divide-and-conquer process. Image: Wikimedia Commons, Simpsons contributor, CC BY-SA 3.0.

A Dijkstra animation highlights tentative distances as the shortest path grows through a graph.

Figure: Dijkstra's algorithm is a concrete example of graph search becoming a path. Image: Wikimedia Commons, Ibmua, public domain.

Topics

  1. Big-O Notation
  2. Sorting Algorithms
  3. Searching Algorithms
  4. Divide and Conquer
  5. Dynamic Programming
  6. Greedy Algorithms
  7. Backtracking and Branch & Bound
  8. Graph Algorithms
  9. Network Flow and Matching
  10. String Algorithms
  11. Number-Theoretic and Algebraic Algorithms
  12. Computational Geometry
  13. Randomized Algorithms
  14. Approximation Algorithms

Why it matters

Understanding algorithms means understanding the trade-offs: time vs space, simplicity vs performance, correctness vs approximation.