TD 3
Tris
Exercice 1 : tri `a bulles
L’algorithme de tri `
a bulles consiste `
a parcourir le tableau `
a trier et `
a comparer chaque
´
el´
ement avec son voisin de droite. Lorsque deux ´
el´
ements cons´
ecutifs ne sont pas dans
l’ordre croissant, ils sont ´
echang´
es. Apr`
es un parcours complet du tableau, on recommence
l’op´
eration. Lorsqu’un parcours n’a donn´
e lieu `
a aucun ´
echange, cela signifie que le tableau
est tri´
ee : l’algorithme s’arrˆ
ete.
1) (TD) Trier le tableau suivant selon l’algorithme du tri `
a bulles en donnant toutes les
´
etapes interm´
ediaires r´
ealis´
ees.
1 4 3 5 2 0 6 8 7
2) (TD) Donner en pseudo-code l’impl´
ementation de la fonction tri_bulles(tableau) qui
prend en param`
etre un tableau et le trie selon l’algorithme du tri `
a bulles.
3) (TD) Donner la complexit´
e de cet algorithme.
4) (TP) L’impl´
ementer en Java.
Exercice 2 : tri par s´election
Il consiste en la recherche du plus grand ´
el´
ement du tableau qui va ˆ
etre plac´
e`
a sa position
d´
efinitive c’est-`
a-dire en derni`
ere position. L’algorithme continue en recherchant le plus
grand ´
el´
ement du tableau priv´
e de son dernier ´
el´
ement, qui va ˆ
etre plac´
e en avant derni`
ere
position. Et ainsi de suite pour tous les ´
el´
ements du tableau, qui sera finalement tri´
e.
1) (TD) Trier le tableau suivant selon l’algorithme du tri par s´
election en donnant toutes les
´
etapes interm´
ediaires r´
ealis´
ees.
1 4 3 5 2 0 6 8 7
2) (TD) Donner en pseudo-code l’impl´
ementation de la fonction tri_selection(tableau)
qui prend en param`
etre un tableau et le trie selon l’algorithme du par s´
election.
3) (TD) Donner la complexit´
e de cet algorithme.
4) (TP) L’impl´
ementer en Java.
Exercice 3 : tri par insertion
Le tri par insertion consiste `
a maintenir un tableau tri´
e au fur et `
a mesure de sa cr´
eation.
Pour ce faire, `
a chaque ajout d’´
el´
ement, le tableau est parcouru de mani`
ere `
a trouver la
bonne place du nouvel ´
el´
ement. Il ne reste ensuite plus qu’`
a d´
ecaler `
a droite les ´
el´
ements
qui se trouvent apr`
es la position d’insertion.
1) (TD) Utiliser le tri par insertion pour obtenir un tableau tri´
e en ins´
erant successivement
les valeurs 1, 4, 3, 5, 2, 0, 6, 8, 7.
1