Sup’Galil´ee INFO1 S1– Ann´ee 2014–2015
Algorithmique
TD 02 : Borne minimale sur les tris
1 Arbres de tri
Un arbre de tri de rang npermet de repr´esenter un algorithme de tri de nvaleurs x1, . . . , xn. Il s’agit
d’un arbre binaire (chaque nœud interne a exactement deux enfants) v´erifiant les propri´et´es suivantes :
Chaque nœud interne est ´etiquet´e par une comparaison entre deux des entr´ees (xi< xj?).
Le fils gauche d’un nœud interne correspond au cas o`u le test est vrai, le fils droit au cas o`u le test
est faux.
Chaque feuille est ´etiquet´ee par une permutation des valeurs d’entr´ees, ordonn´ees de mani`ere `a ce
que les r´esultats des tests le long du chemin pour arriver `a la feuille soit coh´erents. C’est-`a-dire que
si dans la permutation xiest avant xjalors le chemin pour arriver `a la feuille prend soit la branche
gauche d’un test xi< xj?, soit la branche droite d’un test xj< xi?.
1/Dessiner un arbre de tri de rang 2. C’est-`a-dire permettant de faire les bons tests pour trier 2 valeurs
x1et x2.
2/dessiner un arbre de tri de rang 3.
3/Dessiner l’arbre de tri de rang 4 correspondant `a l’algorithme de tri par s´election. Remarque : les
d´eplacements d’´el´ements dans le tableau ne sont pas repr´esent´es sur l’arbre de tri. Remarque bis :
L’arbre doit avoir une profondeur de 6 (±1). Pr´evoir de la place. . .
4/`
A quoi peut-on voir que l’algorithme de tri par s´election n’est pas optimal ? (2 r´eponses)
2 Analyse des arbres de tri
5/Soit un arbre binaire (quelconque) de profondeur k. Combien a-t-il de feuilles au maximum ?
6/Soit un arbre binaire avec Nfeuilles. Quelle est sa profondeur minimale ?
7/Combien de feuilles un arbre de tri de rang na-t-il au minimum ?
8/Quel est le nombre minimum de comparaisons que doit effectuer un algorithme de tri dans le pire des
cas ? (plus faible complexit´e au pire que puisse avoir un algorithme de tri)
Le probl`eme du tri est l’un des tr`es rares exemples o`u on arrive `a calculer une borne inf´erieure `a la
complexit´e au pire, c’est-`a-dire `a prouver l’optimalit´e de certains algorithmes.
Remarque : On peut aussi s’amuser `a dessiner les arbres de tri (de petit rang) correspondant aux
autres algorithmes de tri. Pour le tri rapide, on doit avoir un arbre assez d´es´equilibr´e, avec des longues
branches pour le pire des cas mais un grand nombre de branches courtes (de sorte que la moyenne soit
faible). Pour le tri fusion, toutes les branches devraient avoir presque la mˆeme longueur et il ne devrait
y avoir peu (voire pas ?) de redondance dans l’arbre.
Remarque : Vous trouverez sur mon compte au sercal, dans le r´epertoire
~jean-yves.moyen/Enseignement/Algo/tris/, une impl´ementation en Cdes tris “de base” vus en cours
ou TD, `a l’aide de tableaux et `a l’aide de listes.
1
1 / 1 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 !