Tri et ses pricipes
Le principe de l'algorithme du tri à bulles est très simple à assimiler. Il est, et de loin, l'un des algorithmes de tri les plus simples qui soient. Pour vous expliquer le principe, je vais d'abord vous donner une courte explication écrite puis nous allons concrètement trier une liste de nombres. Le principe du tri à bulles est de comparer deux valeurs adjacentes et d'inverser leur position si elles sont mal placées. Alors, qu'entend-t-on par "mal placé" ? C'est très simple et surtout, c'est logique : si un premier nombre x est plus grand qu'un deuxième nombre y et que l'on souhaite trier l'ensemble par ordre croissant, alors x et y sont mal placés et il faut les inverser. Si, au contraire, x est plus petit que y, alors on ne fait rien et l'on compare y à z, l'élément suivant. C'est donc itératif. Et on parcourt ainsi la liste jusqu'à ce qu'on ait réalisé n-1 passages (n représentant le nombre de valeurs à trier) ou jusqu'à ce qu'il n'y ait plus rien à inverser lors du dernier passage. Avec de la logique, on s'aperçoit qu'au premier passage, on place le plus grand élément de la liste au bout du tableau, au bon emplacement. Pour le passage suivant, nous ne sommes donc plus obligés de faire une comparaison avec le dernière élément ; et c'est bien plus avantageux ainsi. Donc à chaque passage, le nombre de valeurs à comparer diminue de 1. Pour illustrer ce principe, prenons la suite de nombres suivante : Code : Autre - liste à trier - Sélectionner
1
6 0 3 5 1 4 2
Nous voulons trier ces valeurs par ordre croissant. Commençons par le commencement. Nous allons faire un premier passage. Code : Autre - liste à trier - Sélectionner
1
2
3
4
5
6
7
6 0 3 5 1 4 2 // On compare 6 et 0 : on inverse
0 6 3 5 1 4 2 // On compare 6 et 3 : on inverse
0 3 6 5 1 4 2 // On compare 6 et 5 : on inverse
0 3 5 6 1 4 2 // On compare 6 et 1 : on inverse
0 3 5 1 6 4 2 // On compare 6 et 4 : on inverse
0 3 5 1 4 6