Licence Informatique
Université de Bordeaux
4TIN501U Algorithmique et structures de données 2
Feuille 3
Exercice 1
Un graphe non orienté est biparti si l’on peut partager l’ensemble de ses sommets en deux
sous-ensembles tels qu’aucune arête du graphe relie deux sommets appartenant au même sous-
ensemble.
Proposer un algorithme ecace permettant de déterminer si un graphe non orienté est biparti.
Quelle est sa complexité ?
Exercice 2
0PP(G)
1pour chaque sommet u de X faire
2couleur[u] <- BLANC
3pere[u] <- nil
4temps <- 0
5pour chaque sommet u de X faire
6si couleur[u] = BLANC
7alors Visiter_PP(u)
0Visiter_PP(u)
1couleur[u] <- GRIS
2d[u] <- temps <- temps + 1
3pour chaque v de Adj[u] faire
4si couleur[v] = BLANC
5alors pere[v] <- u
6Visiter_PP(v)
7couleur[u] <- NOIR
8f[u] <- temps <- temps + 1
Appliquer l’algorithme de parcours en profondeur PP au graphe G1de la Fig. 1(onconviendra
que dans les listes d’adjacence les sommets sont rangés dans l’ordre croissant de leur numéro) :
s3
s1s2
s0
s4s6
s5
s7
s8
s9
Figure 1–G1
Exercice 3
1. Modifier l’algorithme PP pour compter le nombre de sommets de la composante connexe
d’un sommet donné d’un graphe non orienté. Peut-on obtenir le même résultat en utili-
sant le parcours en largeur ?
2. Modifier l’algorithme PP pour tester si un graphe non orienté posde un cycle.
1
Exercice 4
Pour les deux graphes non orientés H1et H2ci-dessous dire si T1et T2peuvent respectivement
être des arbres couvrants obtenus par un parcours en profondeur Justifier les réponses en
spécifiant l’éventuel sommet de départ et l’ordre des sommets dans les listes d’adjacence.
s5
s0
s4
s1
s3
s2
Figure 2–H1
s0s2s1
s3
s4
s5
Figure 3–T1
s0s1s2
s5
s4
s3
Figure 4–H2
s0s1s2
s5
s4
s3
Figure 5–T2
2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !