Introduit la programmation dynamique, en se concentrant sur l'économie de calcul en se souvenant des calculs précédents et en l'appliquant pour résoudre efficacement les problèmes d'optimisation.
Couvre les techniques de comptage avancées, y compris les relations de récurrence linéaire et les fonctions génératrices, avec des exemples de la séquence de Fibonacci et des différences entre les dés et les cartes de poker.
Explore la programmation dynamique avec des nombres de Fibonacci, des algorithmes gourmands de changement de pièce, la coloration graphique et des variantes de knapsack.