ROB3 – Algorithmique ann´ee 2014–2015
ROB3 – Algorithmique – Interrogation n3
Dur´ee : 2 heures – barˆeme indicatif
Exercice 1 (4 pts)
Q 1.1 Donner les ´etats de la structure de donn´ees union-find (sous forme de forˆets) `a chaque ´etape de la
s´equence suivante d’op´erations, en partant des singletons {0},{1},{2},...,{9}. On utilisera l’union pond´er´ee
et la compression de chemins. En cas d’´egalit´e, on prendra le plus petit indice comme racine.
union(3,4), union(4,9), union(8,0), union(2,3), union(5,6), union(5,9), union(7,3), union(4,8), union(6,1).
2/20
ROB3 – Algorithmique page 2
Q 1.2 Tracer l’arbre couvrant minimum Tobtenu en ex´ecutant l’algorithme de Kruskal sur le graphe ci-dessous.
Pour chaque arˆete de T, indiquer un cocycle qui justifie l’insertion de l’arˆete dans T. Par exemple, le cocycle
d´efini par la partition ({C},{A, B, D, E, F, G}) justifie l’insertion de l’arˆete {C, D}.
2/20
ROB3 – Algorithmique page 3
Exercice 2 (5 pts)
Q 2.1 erouler l’algorithme de Dijkstra pour d´eterminer l’arborescence des plus courts chemins depuis le
sommet 1 dans le graphe G= (V, E, c) oriene ci-dessous (on repr´esentera l’arborescence partielle des plus
courts chemins `a chaque ´etape de l’algorithme). En cas d’´egalit´e, on examinera en priorit´e le sommet de plus
petit indice.
2/20
ROB3 – Algorithmique page 4
Q 2.2 On d´efinit un nouveau graphe G0= (VV0, E0
1E0
2, c0) `a partir de G, o`u :
V0comporte un sommet xepour chaque arc e= (x, y) de Epour lequel c(e) = 2,
E0
1={eE:c(e)=1},
E0
2comporte deux arcs (x, xe) et (xe, y) pour chaque arc e= (x, y) de Epour lequel c(e) = 2,
c0est une fonction de coˆut unitaire (qui associe un coˆut de 1 `a chaque arc de E0
1E0
2).
Repr´esenter G0ainsi que l’arborescence couvrante associ´ee `a un parcours en largeur de G0depuis le sommet 1
(qui visite en priorit´e le sommet de plus petit indice). A quoi correspond cette arborescence si on la r´einterpr`ete
dans G? (on ne demande pas ici de justification)
1.5/20
Q 2.3 On suppose ici que le graphe est repr´esent´e sous forme de listes d’adjacence. Pour un graphe Gavec des
coˆuts 1 et 2, quelle est la complexit´e de l’algorithme consistant `a construire un nouveau graphe G0`a partir de G
puis `a r´ealiser un parcours en largeur de G0? Rappeler la complexit´e de l’algorithme de Dijkstra. Conclusion ?
1.5/20
ROB3 – Algorithmique page 5
Exercice 3 (7 pts)
Q 3.1 Est-il possible de dessiner un graphe non-orient´e `a 7 sommets dont tous les sommets sont de degr´e 3 ? Si
oui, le dessiner, sinon prouver que ce n’est pas possible.
1/20
On s’ineresse dans les questions qui suivent `a ´etablir une condition n´ecessaire pour qu’un graphe connexe
soit planaire. Un graphe est planaire si il est possible de le dessiner sur un plan sans croisement d’arˆetes. Par
exemple, le graphe sur la figure de gauche ci-dessous est planaire car on peut le repr´esenter sans intersection
comme montr´e sur la figure de droite.
Soit Gun graphe planaire. Une face Fde Gest une r´egion maximale du plan d´elimit´e par un ensemble d’arˆetes
de G, et qui n’en contient aucune. Le degr´e de F, not´e d(F), est le nombre de bords d’arˆetes (chaque arˆete a
deux bords et deux extrˆemit´es) de Gqui bordent F. Par exemple, dans la repr´esentation planaire du graphe
pr´ec´edent, nous avons exactement 4 faces, num´erot´ees de 1 `a 4 (la face 4 est la face ext´erieure). Toutes sont ici
bord´ees par 3 bords d’arˆetes du graphe exactement, c’est-`a-dire qu’elles sont toutes de degr´e 3.
On notera nle nombre de sommets, mle nombre d’arˆetes et fle nombre de faces dans un graphe G.
Q 3.2 Dans un graphe planaire quelconque, exprimer PFd(F) en fonction de men justifiant bri`evement la
r´eponse.
1/20
1 / 8 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 !