Ce cours a pour but, d'une part, de proposer une introduction à
l'algorithmique, notamment de présenter des algorithmes efficaces
illustrant les grandes familles de techniques algorithmiques, et,
d'autre part, de présenter les structures de données classiquement
utilisées en informatique.
En ce qui concerne l'algorithmique, l'accent sera mis sur :
la complexité d'un algorithme ;
les grandes techniques d'algorithmique :
Préprocessing
Diviser pour régner
Programmation dynamique
Algorithmes gloutons
les graphes et leurs parcours classiques.
En ce qui concerne les structures de données, l'accent sera mis sur :
les listes ;
les piles et files ;
les arbres binaires de recherche équilibrés ;
les tas ;
les tables de hachage.
Contenu des cours d'algorithmique :
Cours 1 :
Introduction à l'algorithmique et à la complexité :