2.2 Recherche des composantes 2-connexes
2.2.1 Pr´eliminaires
Soit Gun graphe connexe non orient´e. Montrez les propri´et´es suivantes :
1. Deux composantes 2-connexes de Gsont disjointes ou ont en commun un point d’articula-
tion.
2. Gest 2-connexe si et seulement si pour tous sommets xet yde G, il existe un cycle
´el´ementaire passant par xet y.
3. La forˆet couvrante associ´ee au parcours en profondeur de Gest une arborescence.
2.2.2 Justification
Pour tout sommet xde Gnotons
–pref (x) la num´erotation du sommet xassoci´ee a un parcours en profondeur de G,
–retour (x) le plus haut sommet de l’arborescence qui peut ˆetre atteint `a partir de xen suivant
un chemin form´e d’arcs couvrants suivi (´eventuellement) d’un arc en arri`ere.
On peut d´efinir la fonction retour de mani`ere r´ecursive :
retour (x) = min{pref (x), pref (z), retour (y)}
le minimum ´etant pris sur tous les sommets ztels que x→zest un arc en arri`ere et les sommets
ytels que x→yest un arc couvrant.
1. Montrez que la racine xde l’arborescence de Gest un point d’articulation si et seulement
si xa au moins deux fils,
2. Montrez qu’un sommet xautre que la racine est un point d’articulation si et seulement si
il existe un sommet ytel que x→yest un arc couvrant et retour (y)≥pref (x),
3. Soit x–yune arˆete avec x→yun arc couvrant. Montrez que xest racine de la composante
2-connexe contenant ysi et seulement si retour (y)≥pref (x).
2.2.3 Algorithme
En vous inspirant de l’algorithme de Tarjan, d´ecrivez un algorithme de calcul des composantes
2-connexes :
– on ´evalue r´ecursivement retour (x) en effectuant un parcours en profondeur du graphe `a partir
du sommet x,
– on empile les arˆetes au fur et `a mesure (dans l’ordre pr´efixe),
– si pour une arˆete x–ycorrespondant `a un arc couvrant x→yon a retour (y)≥pref (x)
alors on obtient une composante 2-connexe en d´epilant toutes les arˆetes jusqu’`a x–yincluse.
2