Les algorithmes de tri01/09/04 Selon le dictionnaire, « trier » signifie « répartir en plusieurs classes selon certains critères ». De manière plus restrictive, le terme de « tri » en algorithmique est très souvent attaché au processus de classement d'un ensemble d'éléments dans un ordre donné. Par exemple, trier N entiers dans l'ordre croissant, ou N noms dans l'ordre alphabétique. Tout ensemble muni d'un ordre total peut fournir une suite d'éléments à trier.
Il est intéressant de constater qu'intuitivement, s'il lui est donné un ensemble à trier, tout un chacun met en place des stratégies de tri différentes selon le nombre d'éléments de l'ensemble, par exemple un jeu de 52 cartes ou 200 élèves à classer dans l'ordre alphabétique. Tri par sélection, tri par propagation, tri par insertion, tri rapide, tri par fusion... ces différentes méthodes ont chacune leurs particularités... et leur niveau de performance, qui correspond à la complexité
Applet Java réalisée par David Eck
Si l'applet ne s'affiche pas correctement
On peut illustrer le cas général en prenant l'exemple du tri d'entiers. C'est ce que présente l'applet ci-dessus. Les différentes méthodes sont tout d'abord montrées, sous forme de Tri visuel, appliquées au tri de 16 éléments. Un deuxième niveau, appelé Tri temporel, permet de tester les différents algorithmes en choisissant un grand nombre d'éléments. Enfin, le menu Log garde la trace des essais successifs, afin de pouvoir les comparer. Pour en savoir plus sur les différentes méthodes de triPour décrire plus précisément les différentes méthodes de tri, leur procédure, leur complexité, on suppose qu'on dispose d'un tableau Afin d'évaluer la complexité des différents algorithmes de tri présentés, on comptera le nombre de comparaisons et d'échanges de valeur entre deux éléments du tableau sans prendre en compte les affectations et comparaisons sur des variables de comptage de boucles. Les méthodes présentées sont de deux types :
Cette liste n'est évidemment pas exhaustive. Il existe des méthodes particulièrement adaptées à certains types de données spécifiques. Le tri par base
|