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.
Explore la complexité de l'algorithme, la notation big-O, l'induction, la récursion et l'analyse des temps de fonctionnement, couvrant les problèmes NP et les classes de complexité.
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.