Algorithmes avancés 
1. Les algorithmes des tris 
a. Le principe 
Vous avez pu voir dans les exemples précédents l’intérêt des tableaux pour le stockage de valeurs multiples. Mais 
suivant  le  cas  il  peut  être  utile  d’avoir  besoin  d’obtenir  une  liste  ordonnée  de  valeurs  par  ordre  croissant  ou 
décroissant. Autrement dit vous voulez trier le contenu du tableau. Prenez le cas d’un professeur souhaitant trier les 
notes de ses élèves de la plus basse à la plus haute, ou des résultats d’un tirage du loto pour le rendre plus lisible. 
Imaginez un tirage du loto de cinq numéros, évidemment tous différents, dont les valeurs s’étalent entre 1 et 49. Voici 
l’état initial du tableau suite au tirage au sort : 
Il  existe  plusieurs  méthodes  permettant  de  trier  ces  différentes  valeurs.  Elles  ont  toutes  leurs  qualités  et  leurs 
défauts.  Ainsi  une  méthode  sera  lente,  l’autre  sera  plus  gourmande  en  mémoire,  et  ainsi  de  suite.  C’est  leur 
complexité qui détermine leur usage notamment pour de grandes plages de valeurs. 
Dans les algorithmes suivants, la variable Cpt contient le nombre d’éléments du tableau initial et t[] est le tableau. 
Il est intéressant de prendre en compte la complexité de ces divers algorithmes, bien que cette notion, présentée au 
premier chapitre, ne soit généralement pas (ou peu) abordée dans les premières années d’études en informatique. 
Les  algorithmes  ont  souvent  une  complexité  proche.  Pourtant  à  l’usage  un  tri  shell  est  plus  rapide  qu’un  tri  par 
sélection, tout dépendant du nombre d’éléments et l’éventuel ordre de ceux­ci au départ. 
b. Le tri par création 
Le tri par création ne sera abordé que du point de vue théorique. En effet si cette méthode semble simple, elle est en 
fait  lourde  et  compliquée.  Si  on  demande  à  un  débutant  en  programmation  comment  trier  un  tableau,  il  vous 
proposera très certainement de créer un deuxième tableau dans lequel on placera au fur et à mesure les éléments du 
premier tableau dans l’ordre croissant. 
C’est une très mauvaise idée pour de multiples raisons dont : 
q L’ajout d’un second tableau double la mémoire nécessaire. 
q La recherche du plus petit élément est plus compliquée qu’on ne le pense car à chaque passage, il ne faut pas 
reprendre ceux déjà sortis, et c’est compliqué. 
q Le  nombre  de  boucles  et  de  recherches  est  important.  La  complexité  de  l’algorithme  résultant  aussi, 
supérieure aux autres. 
q Pour toutes ces raisons le tri par création ne doit absolument pas être utilisé. 
c. Le tri par sélection 
Le tri par sélection est très simple : il consiste à sélectionner dans le tableau la plus petite valeur et la permuter avec 
le premier élément du tableau, puis la deuxième plus petite valeur (hors premier élément) et à la permuter avec le 
deuxième  élément  du  tableau,  et  ainsi  de  suite,  et  cela  pour  tous  les  éléments  du  tableau.  Voici  les  étapes 
nécessaires depuis l’exemple ci­dessus : 
q Étape 1 : la plus petite valeur est 9, on permute 9 et 48. 
q Étape 2 : la plus petite valeur suivante est 17, déjà à la bonne position, on passe à la suivante. 
48 
17 
25 
9 
34 
9 
17 
25 
48 
34 
- 1 -
© ENI Editions - All rigths reserved - Jonifar lina
108
Précédent

- 108/220

Suivant