Académique Documents
Professionnel Documents
Culture Documents
1. Introduction
La notion de graphe est une structure qui permet de représenter plusieurs situations réelles, en
but de leur apporter des solutions mathématiques et informatique, tel que :
– Circuits électroniques,
– ···
2. Définitions
2.1 Graphe
Un graphe est défini par un couple (S, A) ù S est un ensemble de sommets (nœuds ou points)
et A est un sous ensemble du produit cartésien(S⇥S) représentant les relations existant entre
les sommets.
Exemple : S=1, 2, 3, 4, 5, 6, 7
C’est un graphe où les relations entre les sommets sont définies dans un seul sens (exemple
précédent). Dans ce cas les relations sont appelées "arcs".
C’est un graphe où les relations sont définies dans les deux sens. Dans ce cas, les relations
sont appelées "arêtes".
C’est un graphe orienté ou non où à chaque arc ou arête correspond une valeur ou une
étiquette représentant son coût (ou distance).
2.6 Chemin
Un chemin est un ensemble d’arcs a1, a2,···,ap où Origine(ai+1) = Extrémité(ai), 1 <= i<=p
2.7 Circuit
2.8 Chaine
2.9 Cycle
Un graphe connexe est un graphe où pour tout couple de sommets(x, y), il existe une chaîne
d’arcs les joignant.
Exemple : Pour le couple(1,6), il existe une chaîne d’arcs, et il n’en existe pas pour (1,7).
Un graphe fortement connexe est un graphe où pour tout couple de sommets (x, y), il existe
un chemin d’arcs les joignant.
Il existe deux façons classiques de représenter un graphe G=(S, A) : par un ensemble de listes
d’adjacences, ou par une matrice d’adjacences.
La représentation par listes d’adjacences d’un graphe G=(S, A) consiste en un tableau Adj de
|S| listes, une pour chaque sommet de S. Pour chaque u ∈ S, la liste d’adjacences Adj [u] est
une liste des sommets v tels qu’il existe un arc (u, v) ∈A. Autrement dit, Adj [u] est constituée
de tous les sommets adjacents à u dans G. Les sommets de chaque liste d’adjacences sont en
général chaînés selon un ordre arbitraire.
Pour la représentation par matrice d’adjacences d’un graphe G=(S, A), on suppose que les
sommets sont numérotés arbitrairement 1, 2,..., |S|. La représentation par matrice d’adjacences
d’un graphe G consiste alors en une matrice |S|×|S|, M = (aij) telle que :
Cas .1 Deux représentations d’un graphe non orienté. (a) Un graphe non orienté G possédant
cinq sommets et sept arêtes. (b) Une représentation de G par listes d’adjacences. (c) La
représentation de G par une matrice d’adjacences.
Remarque : On remarque que la matrice d’adjacences dans le cas. 1 (c) est symétrique par
rapport à sa diagonale principale. On définit la transposée d’une matrice M = (aij) comme la
matrice TM=(T aij) donnée par T
aij =aji. Comme dans un graphe non orienté, (u, v) et (v, u)
représentent la même arête, la matrice d’adjacences M d’un graphe non orienté est sa propre
transposée : M= TM. Dans certaines applications, il est intéressant de ne conserver que les
composantes situées sur et au-dessus de la diagonale de la matrice d’adjacences, ce qui réduit
presque de moitié la quantité de mémoire requise pour stocker le graphe.
1 ére année Master Module: algorithmiques et structures complexes
Cas .2 Deux représentations d’un graphe orienté. (a) Un graphe orienté G possédant six
sommets et huit arcs. (b) Une représentation de G par listes d’adjacences. (c) La
représentation De G par matrice d’adjacences.
4. Parcours de graphes
De même que pour les arbres, il est important de pouvoir parcourir un graphe selon certaines
règles, cependant, le parcours des graphes est un peu différent de celui des arbres. Dans un
arbre, si on commence à partir de la racine on peut atteindre tous les nœuds,
malheureusement, ce n’est pas le cas pour un graphe où on est obligé de reprendre le parcours
tant qu’il y a des sommets non visités. En plus un graphe peut contenir des cycles, ce qui
conduit à des boucles infinies de parcours.
Il existe deux types de parcours de graphes : le parcours en profondeur d’abord (Depth First
Search) et le parcours en largeur d’abord (Breadth First Search).
L’algorithme de parcours en largeur tient son nom au fait qu’il découvre d’abord tous les
sommets situés à une distance k de s avant de découvrir tout sommet situé à la distance k+1.
1 ére année Master Module: algorithmiques et structures complexes
La Figure au-dessus représente l’action de PL sur un graphe non orienté. Les arcs de
l’arborescence sont ombrés quand ils sont produites par PL. Les valeurs d[u] sont données à
l’intérieur de chaque sommet u. La file F est représentée au début de chaque itération de la
boucle tant que des lignes 9–18. Les distances à l’origine sont représentées sous chaque
sommet de la file.
Le principe du DFS est de visiter tous les sommets en allant le plus profondément possible
dans le graphe.
1 ére année Master Module: algorithmiques et structures complexes