Category: Blog
-

How to Learn Algorithm Correctness Proofs: Preconditions, Loop Invariants, Induction and Termination
A rigorous learning manual for proving algorithms correct: define the contract, discover loop invariants, use induction, prove termination, test counterexamples and move from worked proofs to independent reasoning.
-

How to Learn Amortized Analysis: Aggregate, Accounting and Potential Methods
Learn amortized analysis by separating occasional expensive operations from the cost of an entire sequence using aggregate, accounting and potential methods.
-

How to Learn Randomized Algorithms: Random Choices, Expected Cost, Las Vegas and Monte Carlo Guarantees
Learn randomized algorithms by separating random choices from random inputs, then reason about expected cost, success probability, Las Vegas and Monte Carlo guarantees.
-

How to Learn Strongly Connected Components: Mutual Reachability, Kosaraju, Tarjan and Condensation DAGs
Learn strongly connected components from mutual reachability through Kosaraju and Tarjan, then compress components into a condensation DAG for higher-level reasoning.
-

How to Learn Selection Algorithms: Quickselect, Order Statistics and Median-of-Medians
Learn selection algorithms from rank and partition invariants through Quickselect, randomized expected-time analysis, worst-case guarantees and median-of-medians.
-

How to Learn Network Flow Algorithms: Residual Graphs, Augmenting Paths and Max-Flow Min-Cut
Learn network flow algorithms from conservation and capacity through residual graphs, augmenting paths, Ford–Fulkerson, max-flow min-cut, failure modes and professional modelling.