Table of contents : Couverture Page de titre Introduction Chapitre 1. Généralités 1.1. Origine de la notion de graphe 1.2. Définition des graphes 1.3. Sous-graphes 1.4. Chaînes et cycles 1.5. Degrés 1.6. Connexité 1.7. Graphes bipartis 1.8. Aspects algorithmiques 1.9. Exercices Chapitre 2. Arbres 2.1. Définitions et propriétés 2.2. Arbres couvrants 2.3. Problème de l'arbre couvrant minimum 2.4. Connectivité 2.5. Exercices Chapitre 3. Colorations 3.1. Problèmes de colorations 3.2. Colorations d'arêtes 3.3. Aspects algorithmiques 3.4. Le problème de l'emploi du temps 3.5. Exercices Chapitre 4. Graphes orientés 4.1. Définitions et généralités 4.2. Graphes orientés sans circuits 4.3. Arborescences 4.4. Exercices Chapitre 5. Recherche arborescente 5.1. Parcours d'une arborescence 5.2. Optimisation d'une suite de décisions 5.3. Parcours d'un graphe orienté 5.4. Exercices Chapitre 6. Chemins optimaux 6.1. Problèmes de distances et de plus courts chemins 6.2. Graphes non valués, parcours en largeur 6.3. Cas des graphes sans circuits 6.4. Application à l'ordonnancement 6.5. Cas des longueurs positives 6.6. Cas général 6.7. Algorithme de Floyd 6.8. Exercices Chapitre 7. Parcours en largeur lexicographique 7.1. Retour sur le parcours en largeur 7.2. LexBFS 7.3. Application aux graphes triangulés 7.4. Exercices Chapitre 8. Couplages 8.1. Couplages et chaînes alternées 8.2. Couplages dans les graphes bipartis 8.3. Problème de l'affectation 8.4. Problème de l'affectation optimale 8.5. Exercices Chapitre 9. Flots 9.1. Flots dans les réseaux de transport 9.2. Théorème du flot maximum 9.3. Algorithme du flot maximum 9.4. Flots avec stocks et demandes 9.5. Revisites de théorèmes 9.6. Exercices Chapitre 10. Tournées eulériennes 10.1. Chaînes et cycles eulériens 10.2. Algorithmes 10.3. Problème du postier chinois 10.4. Exercices Chapitre 11. Tournées hamiltonniennes 11.1. Cycles hamiltoniens 11.2. Le problème du voyageur de commerce 11.3. Approximation d'un problème difficile 11.4. Approximation du PVC géographique 11.5. Exercices Chapitre 12. Représentations planes 12.1. Graphes planaires 12.2. Autres représentations des graphes 12.3. Exercices Chapitre 13. Problèmes commentés 13.1. Problème 1 : une démonstration de k-connexité 13.2. Problème 2 : une application à la compilation 13.3. Problème 3 : noyaux dans un graphe 13.4. Problème 4 : couplage dans un graphe biparti régulier 13.5. Problème 5 : théorème de Birkhoff-Von Neumann 13.6. Problème 6 : couplages et pavages 13.7. Problème 7 : exploitation d'une mine à ciel ouvert Appendice. Algorithmes randomisés de graphes 1. La notion d'algorithme randomisé 2. Couplage parfait dans un graphe biparti 3. Classes de complexité probabilistes 4. Le problème de la coupe minimum Annexe A. Expression des algorithmes A.1. Problématique de l'expression des algorithmes A.2. Premier exemple d'algorithme A.3. Deuxième exemple d'algorithme Annexe B. Bases de la théorie de la complexité B.1. Notion de complexité B.2. La classe P B.3. La classe NP B.4. Les problèmes NP-complets B.5. Classification des problèmes B.6. Autres approches des problèmes difficiles Bibliographie Index