Aller au contenu principal

Algorithmes avancés · L3 · Section 11/11

Ressources

Progression

Points d’expérience : XPSérie de jours consécutifs : · —Progression du module : — / —compris

#Ressources : algorithmes avancés

Comment s'en servir : résoudre d'abord à la main sur un petit exemple, formaliser la récurrence ou la preuve sur papier, puis implémenter et mesurer. La preuve d'abord, le code ensuite : c'est l'ordre qui garantit que l'implémentation teste la bonne idée.

#Références

  • Introduction to Algorithms (Cormen, Leiserson, Rivest, Stein) : chapitres sur la programmation dynamique, les plus courts chemins, les arbres couvrants ; les preuves y sont complètes.
  • Supports du cours d'algorithmique L3 de l'UCA : structure du semestre et sujets d'examen.
  • Algorithm Design Manual (Skiena) : le catalogue de problèmes par forme, utile pour reconnaître un problème connu sous un habillage nouveau.

#Pratique

  • Implémenter Dijkstra et A* sur des graphes variés (poids entiers, réels, denses, clairsemés) et comparer les nombres de nœuds développés.
  • Enchaîner les exercices de programmation dynamique : sac à dos, rendu de monnaie, LCS, chaînes de matrices (chapitres correspondants du module).
  • Sur une plateforme d'exercices (Codeforces, France IOI, Project Euler pour le versant mathématique) : étiqueter chaque problème par son schéma (glouton, DP, graphe, recherche) avant de coder.

#Outils du site

  • Visualiseurs des chapitres : Dijkstra (figement par distances croissantes), A* (effet de l'heuristique sur la zone explorée), parcours de graphes (BFS par couches), Huffman (construction de l'arbre), tri rapide (partition).
  • Playgrounds Python intégrés : chaque chapitre embarque un code exécutable modifiable ; servez-vous en pour tester vos variantes sans installation.