Table des matières
1 Notions élémentaires sur les graphes 3
1.1 Quelques problèmes formalisables par des graphes . . . . . . . . . . 3
1.1.1 Choix d’un itinéraire . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Organisation d’une session d’examen . . . . . . . . . . . . . 3
1.1.3 Problème d’ordonnancement de tâches . . . . . . . . . . . . 4
1.1.4 Routage dans les réseaux de télécommunications . . . . . . . 5
1.2 Définitions et concepts de base . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Graphe orienté . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Graphe non orienté . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.3 Définitions complémentaires . . . . . . . . . . . . . . . . . . 6
1.3 Connexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1 Chemin et circuit (graphes oriéntés) . . . . . . . . . . . . . . 7
1.3.2 Chaîne et cycle . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.3 Graphe connexe et composantes connexes . . . . . . . . . . . 8
1.3.4 Graphe fortement connexe et composantes fortement connexes 8
1.4 Quelques graphes particuliers . . . . . . . . . . . . . . . . . . . . . . 9
1.4.1 Graphe complet, clique, stable . . . . . . . . . . . . . . . . . 9
1.4.2 Arbre et forêt . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.3 Arborescence . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.4 Graphe biparti . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Représentation des graphes . . . . . . . . . . . . . . . . . . . . . . . 11
1.5.1 Matrices d’adjacence et d’incidence . . . . . . . . . . . . . . 11
2 Parcours de graphes et problèmes de connexité 13
2.1 Parcours en profondeur d’un graphe orienté (Depth First Search) . . . 13
2.2 Parcours en profondeur d’un graphe non orienté (DFSno) et détermi-
nation des composantes connexes . . . . . . . . . . . . . . . . . . . . 15
2.2.1 DFS pour les graphes non orientés . . . . . . . . . . . . . . . 15
2.2.2 Détermination des composantes connexes . . . . . . . . . . . 15
2.3 Détermination des composantes fortement connexes . . . . . . . . . . 16
2.3.1 Numérotation préfixe et suffixe . . . . . . . . . . . . . . . . . 16
2.3.2 Algorithme de Kosaraju (1978) . . . . . . . . . . . . . . . . 17
2.4 Tri topologique dans un graphe orienté sans circuit . . . . . . . . . . 18
2.5 Fermeture transitive d’un graphe . . . . . . . . . . . . . . . . . . . . 19
3 Cheminement dans les graphes 21
3.1 Plus courts chemins d’origine fixée dans un graphe sans circuit avec
longueurs quelconques : algorithme de Bellman . . . . . . . . . . . . 22
3.2 Plus courts chemins d’origine fixée dans un graphe avec longueurs non
négatives : algorithme de Dijkstra . . . . . . . . . . . . . . . . . . . 23
2