
5. On vous demande un algorithme pour d´eterminer si un graphe dirig´e donn´e poss`ede au moins un
cycle de longueur impaire (form´e d’un nombre impair d’arcs). Indice : quel est le rapport entre les
composantes fortement connexes et les cycles ?
Remarque : le probl`eme de savoir de mani`ere efficace si un graphe contient un cycle de longueur paire
est toujours ouvert.
Exercice 4 *
1. Un circuit eul´erien dans un graphe est un circuit passant une et une seule fois par chacun des arcs du
graphe. On vous demande :
– D’exprimer de mani`ere formelle ce qu’est un circuit eul´erien.
– De donner une condition n´ecessaire sur les nœuds d’un graphe pour que celui-ci poss`ede un circuit
eul´erien.
– De donner un algorithme qui calcule un circuit eul´erien dans un graphe donn´e.
2. Le circuit hamiltonien est en quelque sorte le dual du circuit eul´erien : c’est un circuit qui traverse
une et une seule fois chaque sommet du graphe. Dans un graphe pond´er´e, on peut rechercher le ou
les circuit(s) hamiltonien(s) maximum(s), c’est-`a-dire celui ou ceux ayant la plus grande longueur.
Exprimez de mani`ere formelle ce qu’est un circuit hamiltonien maximum, et donnez l’algorithme pour
en calculer un dans un graphe donn´e.
3