Correction TD 8 : Algorithmes de tri
Licence 1 MASS semestre 2, 2007/2008
Exercice 1 : Tester
On consid`ere que le tri devrait ˆetre selon l’ordre croissant.
a- Algorithme Test(T: tableau d’entiers; n: entier) : bool´een
d´ebut
variable i: entier
i←0
tant que i < n −1 et T[i]≤T[i+ 1] faire
i←i+ 1
fin tant que
retourner i≥n−1
fin
b- Algorithme Compter(T: tableau d’entiers; n: entier) : entier
d´ebut
variable i,c: entier
c←0
pour ide 0`a n−2faire
si T[i]> T [i+ 1] alors
c←c+ 1
fin si
fin pour
retourner c
fin
Exercice 2 : Nombre d’op´erations
a- Pour effectuer krecherches dans un tableau non tri´e de taille nil faut
compter en moyenne kn
2op´erations.
b- Trier le tableau se fait en nlog2nauquel il faut ajouter la recherche di-
chotomique qui se fait en log2net qu’on doit faire kfois : (n+k) log2n.
c- En moyenne il est donc plus int´eressant de trier le tableau et de faire une
recherche dichotomique des que k≥log2n.
1