C.4 : Algorithmique avancée 1

On présente des algorithmes « avancés », au sens où ils vont au delà des algorithmes de base sur les structures de données et les ordres, pour résoudre des problèmes précis. C’est l’occasion de revisiter les concepts et méthodes de l’algorithmique : complexité, preuves de correction (notamment avec la notion d’invariant), choix des types abstraits de données pour la spécification du problème et de l’algorithme, etc.

On pourra par exemple aborder :

  • la recherche de plus court chemin dans un graphe avec le parcours de Dijkstra ;
  • le calcul de l’enveloppe convexe avec l’algorithme de Graham ;
  • le tracé d’un segment dans le plan discret avec la méthode de Bresenham.

Documents

Transparents de L. Vaux pour le cours C.4
Une implémentation en Python de l'algorithme de Dijkstra
Transparents de E. Beffara pour le cours C.4

Liens utiles

Page wikipedia pour l’algorithme de Dijkstra
Page wikipedia pour l’algorithme de Graham
(Cette page mériterait d’être retravaillée…)
Page wikipedia pour l’algorithme de Bresenham

Séances

  • à Aix (Luynes) : le 5 avril 2012 matin (Jean Sequeira)
  • à Manosque : le 18 avril 2012 matin (Emmanuel Beffara)
  • à Marseille : le 17 avril 2012 matin (Lionel Vaux)
  • à Vitrolles : le 7 mai 2012 matin (Emmanuel Beffara)