Introduit la complexité computationnelle, les problèmes de décision, la complexité quantique et les algorithmes probabilistes, y compris les problèmes dures au NP et les problèmes complets au NP.
Couvre la complexité algorithmique et l'analyse du temps de trajet, en se concentrant sur la mesure du temps pris par les algorithmes et l'évaluation de leurs performances.