Vous êtes sur la page 1sur 4

Algorithme - Tri

http://www.gladir.ca/CODER/ALGO/tri.htm

Gladir.com - Algorithme - Tri


Langage Elment Programmation Annexe Aide

Tri bulles La tri a bulle, mieux connu sous le nom de Bubble Sort est habituellement utiliser des fins d'apprentissage. L'ide derrire cette technique est trs simple, parcourir le tableau et permuter deux lments lorsque cela s'avre ncessaire. En voici son algorithme:

BOUCLE POUR I Nombre d'lment - 2 JUSQU'A 0 PAS -1 FAIRE BOUCLE POUR J 0 JUSQU'A I PAS 1 FAIRE SI Tableau [ J + 1 ] < Tableau [ J ] ALORS changer Tableau [ J + 1 ] avec Tableau [ J ] FIN SI FIN BOUCLE POUR FIN BOUCLE POUR

Tri de Shell La technique de tri nomme Shell-Metzner, est en fait une technique de rduction du nombre de comparaison a effectuer pour trier un tableau. Comment si prend-on? C'est simple, la comparaison s'effectue entre 2 lments sparer par un cart gal (au dpart) la moiti de la taille du tableau. Ensuite, la comparaison s'effectue entre des lments spares par un cart gal au nombre d'lment du tableau divise par 4. Lorsque l'cart atteint finalement 1, la tri est terminer.

cart Nombre d'lment BOUCLE FAIRE cart cart / 2 BOUCLE FAIRE Inversion Faux BOUCLE POUR I 1 JUSQU'A Nombre d'lment - cart J I + cart SI Tableau [ J ] < Tableau [ I ] ALORS Temporaire Tableau [ I ] Tableau[I] Tableau[J] Tableau[J] Temporaire Inversion Vrai FIN SI FIN BOUCLE POUR TANT QUE N'EST PAS Inversion TANT QUE cart = 1

1 sur 4

26/01/2013 18:23

Algorithme - Tri

http://www.gladir.ca/CODER/ALGO/tri.htm

Tri par change La technique de tri par change consiste a comparer un premier lment avec un autre et lorsqu'il trouve un lment plus petit, un change est effectuer avec ce premier lment. De cette faon, on finira par placer cette lment correctement. Ensuite, on recommence avec le 2ime lment jusqu' la fin. En voici l'algorithme:

BOUCLE POUR I 0 JUSQU'A Nombre d'lment - 2 PAS 1 FAIRE * Comparer avec les autres lments. BOUCLE POUR J I + 1 JUSQU'A Nombre d'lment - 1 PAS 1 FAIRE SI Tableau [ I ] > Tableau [ J ] ALORS changer Tableau [ J ] avec Tableau [ I ] FIN SI FIN BOUCLE POUR FIN BOUCLE POUR

Tri par extraction La tri par extraction est une consiste a tout d'abord trouver le plus lment d'un tableau et de l'changer avec le premier indice de celui, soit habituellement l'indice 0. Par la suite, il poursuit ses recherches d'un lment minimum entre l'lment 1 celle de la fin. Il effectuera se traitement jusqu' terme. Voici donc l'algorithme:

BOUCLE POUR K 0 JUSQU'A Nombre d'lment - 2 PAS 1 FAIRE Position Minimum K BOUCLE POUR J K + 1 JUSQU'A N 1 SI Tableau [ J ] < Tableau [ Position Minimum] ALORS Position Minimum J BOUCLE FIN POUR SI Position Minimum <> K ALORS changer Tableau[K] avec Tableau[Position Minimum] FIN SI FIN BOUCLE POUR

Tri par insertion La tri par insertion comme son nom l'indique consiste prendre le premier lment en commenant par le deuxime et d'ensuite de l'insrer directement la place appropri dans les indices situs entre 0 et I. Voici donc son algorithme:

BOUCLE POUR I 1 JUSQU'A Nombre d'lment - 1 PAS 1 FAIRE BOUCLE POUR J 0 JUSQU'A I - 1 PAS 1 FAIRE SI Tableau [ I ] <= Tableau [ J ] ALORS Temporaire Tableau [ I ] * L'lment insrer BOUCLE POUR K I - 1 JUSQU'A J PAS -1 FAIRE * Faire de la place. Tableau [ K + 1 ] Tableau [ K ]

2 sur 4

26/01/2013 18:23

Algorithme - Tri

http://www.gladir.ca/CODER/ALGO/tri.htm

FIN POUR Tableau [ J ] Temporaire * Insre l'lment. QUITTER BOUCLE * Fin de la deuxime boucle. FIN SI FIN BOUCLE POUR FIN BOUCLE POUR

Tri slection La tri par slection est une technique trs intressante, en effet, contrairement la Tri bulles ou par changes, elle slectionne systmatiquement le plus petit lment et change celui-ci avec le premier lment de la liste. Ensuite, il applique cette mme manire de procder avec le 2ime lment jusqu' la fin de la liste. En voici l'algorithme:

BOUCLE POUR I 0 JUSQU'A Nombre d'lment - 2 PAS 1 FAIRE Position I Temporaire Tableau [ I ] * Chercher le plus petit lment partir de la position I BOUCLE POUR J I + 1 JUSQU'A Nombre d'lment - 1 PAS 1 FAIRE SI Tableau [ J ] < Temporaire ALORS Position J Temporaire Tableau [ J ] FIN SI FIN BOUCLE POUR * Mettre le plus petit lment la position I Tableau [ Position ] Tableau [ I ] Tableau [ I ] Temporaire FIN BOUCLE POUR

Tri par QuickSort Le QuickSort est sans nulle doute la technique de tri la plus rapide. Le seul inconvnient de cette technique c'est qu'elle empile un grand nombre d'lment dans la pile, on ne pourra donc pas l'employer par exemple pour une base de donnes sollicitant des millions d'informations. Toutefois, elle pourra tre utilise en graphisme par exemple. Voici l'algorithme de cette technique de tri:

MODULE QuickSort ( rfrence A,valeur L,valeur R ) IL JR XA[(L+R)/2] BOUCLE FAIRE TANT QUE I < J BOUCLE FAIRE TANT QUE A [ I ] < X II+1

3 sur 4

26/01/2013 18:23

Algorithme - Tri

http://www.gladir.ca/CODER/ALGO/tri.htm

FIN BOUCLE TANT QUE BOUCLE FAIRE TANT QUE X < A [ J ] JJ+1 FIN BOUCLE TANT QUE SI I <= J ALORS change A [ I ] et A [ J ] II+1 JJ+1 FIN SI FIN BOUCLE TANT QUE SI L < J ALORS QuickSort( A, L, J ) FIN SI SI I < R ALORS QuickSort ( A, I, R ) FIN SI

Dernire mise jour: Dimanche, le 12 mars 2006

4 sur 4

26/01/2013 18:23