Introduit l'importance d'étudier les algorithmes, présente un algorithme intelligent pour le calcul d'une série arithmétique, et discute de l'efficacité et de l'exactitude dans les algorithmes.
Introduit la multiplication matricielle et l'algorithme de Strassen, couvrant l'approche de division et de conquête, les structures de données comme les tas et l'opération MAX-HEAPIFY.
Explore la mise en œuvre et l'efficacité des piles et des files d'attente, ainsi qu'un défi algorithmique impliquant la détermination des ordres de train.
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 le problème de coupe de la tige et le problème de changement pour optimiser les appels récursifs et trouver le nombre minimum de pièces nécessaires pour un montant d'argent donné.