Vous êtes sur la page 1sur 2

Filière : MPDS1 Année Universitaire 2020-21

Module : Graphes & Applications

Série 3 - Arbre de Poids Minimal


Exercice 1.
1. Déterminer un arbre couvrant de poids minimum pour le graphe suivant :

 Utiliser l'algorithme de Kruskal puis l'algorithme de Jarnik-Prim en partant du sommet A.


L'arbre couvrant de poids minimum est-il unique?
2. L'arbre obtenu à la question précédente fournit un unique chemin du sommet A vers tout autre
sommet. Ces chemins sont-ils des plus courts chemins?
Réponse :

 Algorithme de Kruskal : On a 10 sommets , d'où l'arbre comporte 9 arêtes


 Trier les arêtes dans un ordre croissant:
(D,C), (J,H), (A,D), (C,B) , (C,F), (F,E), (F,H), (H,G), (J,K), (G,K), (A,B), (B,F), (A,C),
(F,J), (D,F), (F,G), (H,K), (E,H), (C,E), (E,G), (B,E)

 Dans cet ordre on choisit l'arête qui ne fait pas de cycle avec les arêtes déjà choisies :
Soit T(X,F)
On prend : (D,C), (J,H), (A,D), (C,B) , (C,F), (F,E), (F,H), (H,G), (J,K) soit 9 arêtes et
toutes las autres créent des cycles avec les arêtes déjà choisies.

 Algorithme de Prim - Jarnik :


On part d'un sommet et on le met dans S et on adjoint le sommet le plus proche de S et on
l'ajoute à S
 On part de H, alors S={ H}et T ={ }( vide)
 le sommet le plus proche de S est J alors S ={ H, J} et T ={ (H, J)}
 le sommet le plus proche de S est F alors S ={ H, J} et T={ (H, J), (H,F}
 le sommet le plus proche de S est K alors S ={ H, J, F,K} et T ={ (H, J),(H,F),(J,K)}
 le sommet le plus proche de S est G alors S ={ H, J, F,K,G}
et F ={ (H, J),(H,F),(J,K), (H,G}
 le sommet le plus proche de S est E alors S ={ H, J, F,K,G,E}
et T ={ (H, J),(H,F),(J,K), (H,G),(F,E)}
 le sommet le plus proche de S est C alors S ={ H, J, F,K,G,E,C}
et T ={ (H, J),(H,F),(J,K), (H,G),(F,E), (F,C)}
 le sommet le plus proche de S est D alors S ={ H, J, F,K,G,E,C,D}
et T ={ (H, J),(H,F),(J,K), (H,G),(F,E), (F,C), (C,D)}
 le sommet le plus proche de S est B alors S ={ H, J, F,K,G,E,C,D,B}
et T ={ (H, J),(H,F),(J,K), (H,G),(F,E), (F,C), (C,D), (C,B)}
 le sommet le plus proche de S est A alors S ={ H, J, F,K,G,E,C,D,B,A}
et T={ (H, J),(H,F),(J,K), (H,G),(F,E), (F,C), (C,D), (C,B),(C,A)}

X = S, fin de l'algorithme

La valeur de l'arbre est 16. L'arbre n'est pas unique


Exercice 2

On considère le problème de la détermination d’un arbre de poids minimal.

1 – Quel nombre d’arêtes comporte un arbre couvrant d’un graphe à n sommets ?


Réponse : (n-1)
2 – On considère l’algorithme de Kruskal 
2-1 – Comment peut-on vérifier en temps constant, au cours de l’algorithme, que
l’arête a que l’on considère n’appartient pas à l’ACM et ne va pas créer de cycle ?
Réponse :
On initialise chaque sommet x par composante(x) = x
quand si une arête (u,v) candidate à faire partie de l'arbre on vérifie
si composante(u) = composante(v) alors on la rejette sinon on l'ajoute et on modifie
composante(v) = composante(u)

2-2 – Quelle structure de données peut-on utiliser pour stocker les arêtes adjacentes à
l’ACM ?
Réponse : par exemple une liste d'arêtes
3 – Appliquer l’algorithme de Kruskal au graphe suivant :

Réponse : T= { (e,f), (f,g), (d,h), (f,b), (a,e), (e,h),(d,c)} et l'arbre n'est pas unique

Vous aimerez peut-être aussi