Introduit des approches déterministes pour identifier les nombres premiers et couvre les algorithmes et l'arithmétique modulaire pour les essais de nombres premiers.
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.
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é.
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 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.
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.