Skip to main content

Algorithms

Algorithm design is about choosing the right strategy — not just getting a correct answer, but getting it efficiently at scale. This section covers the core analysis tools, design patterns, and data structures that appear everywhere from interview questions to production systems.

Planned Topics​

Analysis​

  • Big-O, Θ, Ω notation — what they actually mean
  • Amortized analysis (dynamic arrays, union-find)
  • Recurrence relations and the Master Theorem

Sorting & Searching​

  • Comparison sorts: Merge sort, Quicksort, Heapsort — interactive visualizer
  • Linear-time sorts: Counting sort, Radix sort
  • Binary Search — sorted arrays, bounds, predicates, search on the answer

Data Structures​

  • Hash tables: open addressing vs. chaining, load factor, probing
  • Trees: BST, AVL, Red-Black, B-tree (interactive balance visualizer)
  • Heaps and priority queues
  • Graphs: adjacency list vs. matrix, BFS/DFS traversal
  • MEX — minimal excluded, bool mark, map+set updates
  • Sparse Table — static RMQ O(1), range folds O(log n)
  • Sqrt Tree — associative range folds O(1), O(n log log n) build
  • Floyd Cycle Finding — tortoise & hare, detect cycle + find entry O(1) mem

Graph Algorithms​

Geometry​

Bit Manipulation​

Number Theory​

Linear Algebra​

Algebra​

Combinatorics​

  • Stars and Bars — identical objects, non-neg / positive / lower-bound sums

Design Patterns​


More pages coming soon — check back or contribute using the lesson template.