A complete, source-aware course
Understand complexity. Do not just memorize proofs.
A bilingual path from computation theory to NP-completeness, approximation, randomness, and space complexity—with explanations, solutions, and interactive visuals.
362 PDF + 4 books
Source map with page-level references
11 units
From foundations through PH and oracles
HE ⇄ EN
A complete mirrored path in both languages
Course map
Each topic builds on the previous one with precise definitions, intuition, proofs, and practice.
Your progress0 of 11
- PrerequisitesComputability, logic, graphs, asymptotics, and probability.
- Models and resourcesTuring machines, configurations, time, and space.
- Deterministic classesDTIME, DSPACE, hierarchy theorems, and core inclusions.
- NondeterminismComputation trees, NTIME/NSPACE, simulation, and padding.
- NP and coNPWitnesses, verifiers, complements, and open questions.
- Reductions and completenessKarp reductions, NP-hardness, and Cook–Levin.
- Canonical problemsSAT, graph, number, path, and coloring problems.
- Optimization and approximationApproximation ratios, Vertex Cover, Max-Cut, TSP, and Bin Packing.
- RandomizationRP, BPP, amplification, Freivalds, and Karger.
- Space complexityL, NL, Savitch, log-space reductions, and coNL.
- Advanced structureThe polynomial hierarchy, oracles, and relativized classes.