Category: Blog
-

How to Learn Suffix Arrays and LCP Arrays: String Indexing, Binary Search and Repeated Structure
A learning manual for suffix arrays and longest-common-prefix arrays, from sorted suffixes and binary search to repeated-pattern analysis, construction choices and professional string indexing.
-

How to Learn Computational Geometry Algorithms: Orientation, Convex Hulls, Sweep Lines and Robust Predicates
A learning manual for computational geometry: visual intuition, orientation tests, convex hulls, sweep-line thinking, numerical robustness and professional geometric algorithm evaluation.
-

How to Learn Bloom Filters: Probabilistic Membership, False Positives and Space–Accuracy Trade-Offs
A learning manual for Bloom filters, from bit-array tracing and false-positive intuition to probability, tuning, systems trade-offs and professional evaluation.
-

How to Learn Streaming Algorithms: One Pass, Small Memory and Approximate Answers
A learning manual for streaming algorithms: process massive data in one or few passes, preserve useful summaries in tiny memory, reason about sketches, approximation error, heavy hitters and distinct counting.
-

How to Learn Online Algorithms: Decisions Without Future Knowledge and Competitive Analysis
A learning manual for online algorithms: make decisions as inputs arrive, compare against an offline optimum, analyse competitive ratios, learn the ski-rental model and distinguish adversarial from stochastic uncertainty.
-

How to Learn Approximation Algorithms: Near-Optimal Solutions, Approximation Ratios and Proofs
A learning manual for approximation algorithms: understand when exact optimisation is too expensive, derive provable near-optimal guarantees, compare ratios, use relaxations and distinguish approximation from heuristic guessing.