Sister section
DSAPath
Data structures and algorithms for interview prep, competitive programming, and the engineering side of computation. Same editorial standard as TheoremPath: assumptions stated, complexity analyzed, failure modes named.
TheoremPath is the parent network for the rigorous machine-learning curriculum this section borrows from.
Flagship
Flagship · 16 min
Arrays and Pointers
An array is a contiguous block of memory holding fixed-size elements. A pointer is an integer holding the memory address of another value. Together they explain why arrays support O(1) random access, why iteration over them is cache-friendly, and why bugs at the array boundary are some of the most common security vulnerabilities in systems software.
Flagship · 18 min
Big-O Notation
Big-O notation describes how an algorithm's running time or space scales as input size grows. It is an upper bound on the growth rate, ignoring constants and lower-order terms. This page gives the formal definition, six worked examples, the relationship between Big-O / Big-Omega / Big-Theta, and the common mistakes that turn O-notation into a shibboleth instead of a tool.
Flagship · 18 min
Binary Search
Binary search finds an element in a sorted array in O(log n) comparisons by halving the search space at each step. The algorithm is famously easy to get wrong: Bentley reported in 1986 that 90% of professional programmers introduced a bug when asked to implement it from memory. This page walks through the correct invariant, the integer-overflow trap in the midpoint computation, and the lower-bound / upper-bound variants used in practice.