Licence d’Informatique (L3) 
SIN5U1TL – Algorithmique avancée 
 
    TD 5 (Jeudi 20/10) 
 
 
 
 
 
Ce TP porte sur l’Arbre Couvrant Minimal (Algorithmes de Prim et de Kruskal) et sur son utilisation dans le cadre des 
ultramétriques. 
 
 
1. Soit le G=(S,A) le graphe défini par les sommets S = {1,2,3,4,5,6,7,8) et par les arêtes suivantes (S1,S2,w) : 
(1,2,5),  (1,3,7),  (2,3,1),  (3,4,4),  (2,5,2),  (2,4,3),  (4,5,8),  (1,6,3),  (4,6,1),  (4,7,9),  (5,8,3),  (7,8,1),  (4,8,2). 
Représenter le graphe G. 
 
2. Trouver l’Arbre Couvrant Minimal des trois manières suivantes : 
 
a. Avec l’algorithme de Prim en partant du sommet 1 
b. Avec l’algorithme de Prim en partant du sommet 4 
c. Avec l’algorithme de Kruskal 
 
3. Quelle  structure  peut-on  utiliser  pour  accélérer  l’algorithme  de  Prim ?  Expliquer  pourquoi,  et  comment 
l’utiliser. 
 
4. Une ultramétrique d  est définie de la même manière qu’une métrique (distance) si ce n’est que l’inégalité 
triangulaire est remplacée par : δ(x,z) ≤ Max { δ(x,y), δ(y,z) } : 
 
a. Soit  S  =  {M1,  M2,  M3}  trois  points  du  plan  muni  d’une  métrique  d :  comment  peut-on  définir  une 
ultramétrique δ à partir de d sur S ?  
 
b. Soit S = {M1, M2, .. Mn} n points du plan, montrer que si on définit δ(Mi,Mj) comme étant le minimum 
pour tous les chemins possibles entre Mi et Mj de la plus grande distance (sur le chemin) entre deux 
points consécutifs Mk et Ml, ( δ(Mi,Mj) = d(Mk,Ml) ) alors δ est une ultramétrique sur S. 
 
5. Montrer que dans un espace ultramétrique : 
 
a. tous les triangles sont isocèles et leur base est le plus petit côté 
 
b. tous les points d’une boule en sont le centre (ce cette boule) 
 
c. toutes les boules sont disjointes ou concentriques 
 
6. Montrer que la hiérarchie des boules sur S définie une hiérarchie permettant de séparer les sous-ensembles 
de S 
 
7. Comment  peut-on  utiliser  l’Arbre  Couvrant  Minimal  pour  définir  une  ultramétrique  sur  un  ensemble  de 
points ?