Aller au contenu principal

Algorithmique 1 (L2)

Progression du module

#Algorithmique 1

Ce module creuse les fondations posées en première année. Nous cherchons à répondre à deux questions : un problème est-il calculable efficacement ? et, si oui, quelle stratégie d’implémentation donne les meilleures garanties de performance et de lisibilité ? La progression s’organise autour de trois axes : la mesure de la complexité, l’étude de familles d’algorithmes classiques (tris, structures de données) et l’exploration des grandes stratégies (diviser pour régner, glouton, programmation dynamique).

Chaque chapitre s’appuie sur des études de cas concrètes : analyser un algorithme de tri en fonction de la structure d’entrée, décider si un problème d’optimisation merece un algorithme glouton ou une programmation dynamique, classifier un problème comme NP-complet ou non. Les séances alternent preuves formelles, expérimentations (profils de temps et d’espace) et ateliers de programmation.

En fin de parcours, vous aurez acquis une grille de lecture robuste pour évaluer les algorithmes rencontrés dans d’autres disciplines (graphes, calcul scientifique, machine learning) et pour concevoir des solutions adaptées aux contraintes de votre contexte.

Sections