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.
Examine les problèmes de NP, la coloration des graphiques, l'optimisation des chemins et les distinctions de complexité computationnelle dans les classes P et 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é.
Explore la cryptanalyse dans les systèmes à clé publique et la puissance de l'interaction dans les preuves interactives, couvrant le CO-NP, les classes NP, P vs. NP, et plus encore.
Explore la programmation dynamique du problème Knapsack, en discutant des stratégies, des algorithmes, de la dureté du NP et de l'analyse de la complexité temporelle.
Explore les aspects pratiques de la résolution des jeux de parité, y compris les stratégies gagnantes, les algorithmes, la complexité, le déterminisme et les approches heuristiques.