Ce cours couvre les concepts fondamentaux des graphes et des algorithmes associés pour maîtriser la modélisation et la résolution de problèmes complexes en informatique. Il aborde les types de graphes, les parcours (DFS, BFS), les algorithmes de plus court chemin (Dijkstra, Bellman-Ford), ainsi que les arbres couvrants et les flots. Ce PDF, rédigé par Brice Goglin, offre une ressource complète et gratuite pour comprendre et appliquer ces notions, avec des exemples et exercices pratiques. Idéal pour les étudiants et professionnels, il permet d'acquérir des compétences essentielles en algorithmique et théorie des graphes. Le document, disponible en téléchargement libre, sert de référence claire et structurée.
Ce cours s'adresse aux étudiants en informatique, en mathématiques appliquées ou en ingénierie ayant des bases en algorithmique et en structures de données. Il est également adapté aux professionnels souhaitant approfondir leurs connaissances en théorie des graphes pour des applications en optimisation, réseaux ou intelligence artificielle. Une familiarité avec les notions de complexité algorithmique et de programmation est recommandée.
Introduction aux graphes : définitions, terminologie (sommets, arêtes, degrés), types de graphes (orientés, non orientés, pondérés). Représentations en mémoire et complexité associée.
Propriétés des arbres, arbres libres et enracinés. Algorithmes de construction et de recherche. Applications en structures hiérarchiques.
Algorithmes de parcours en profondeur (DFS) et en largeur (BFS). Applications à la détection de cycles, composantes connexes et tri topologique.
Caractérisation et algorithmes de détection. Utilisation dans l'ordonnancement de tâches (méthode PERT).
Algorithmes gloutons : Kruskal et Prim. Preuves d'optimalité et complexité. Applications en conception de réseaux.
Problèmes de plus courts chemins à source unique (Dijkstra, Bellman-Ford) et toutes paires (Floyd-Warshall). Cas des poids négatifs.
Définition des facteurs et des couplages. Lien avec les problèmes d'affectation et d'optimisation combinatoire.
Théorème de König et algorithme hongrois. Applications en affectation de ressources.
Composantes connexes, points d'articulation et ponts. Algorithmes de Tarjan pour les graphes fortement connexes.
Théorème de Ford-Fulkerson. Algorithmes de résolution (Edmonds-Karp). Applications en transport et logistique.
Nombre chromatique, théorème des quatre couleurs. Algorithmes approchés et applications en emploi du temps.
Le cours combine des exposés théoriques, des études de cas pratiques et des travaux dirigés en programmation. Des projets permettront d'appliquer les algorithmes sur des jeux de données réels.
Partner sites PDF Tutorials (English) | PDF Manuales (Spanish) | Cours PDF (French)