Section courante

A propos

Section administrative du site

Tri par sélection (Selection Sort)

Le tri par sélection est un algorithme de tri simple utilisé pour organiser une liste d'éléments en ordre croissant ou décroissant. Son principe repose sur la recherche séquentielle de l'élément minimum (ou maximum) dans la liste non triée, puis sur l'échange de cet élément avec le premier élément de la liste non triée. Cette procédure est répétée en déplaçant progressivement la limite entre les parties triée et non triée de la liste, jusqu'à ce que tous les éléments soient correctement ordonnés.

Dans le détail, à chaque itération, le tri par sélection parcourt la liste pour trouver l'élément le plus petit dans la portion non triée et l'échange avec l'élément en première position de cette portion. Ensuite, la limite entre les parties triée et non triée est décalée d'une position, et le processus est répété jusqu'à ce que tous les éléments soient triés. Cela signifie que l'algorithme divise la liste en deux parties, l'une triée grandissant progressivement et l'autre non triée diminuant.

Le tri par sélection a une complexité en temps de O(n2), car il nécessite de parcourir la liste pour chaque élément afin de trouver le minimum, puis de faire un échange. Cette complexité reste la même dans le meilleur et le pire des cas, ce qui le rend moins efficace que d'autres algorithmes comme le tri rapide pour les grandes listes. Cependant, le tri par sélection est simple à implémenter et fonctionne bien sur de petites listes ou lorsque le coût des échanges est négligeable.

L'algorithme de tri par sélection n'est pas un algorithme stable, car des échanges peuvent modifier l'ordre relatif des éléments de même valeur. Il n'est pas non plus particulièrement efficace en termes de mémoire, mais il est en place, ce qui signifie qu'il trie directement dans la liste sans nécessiter de mémoire supplémentaire pour le stockage temporaire, contrairement à d'autres algorithmes de tri.

Le tri par sélection est souvent enseigné pour sa simplicité et pour illustrer les concepts de recherche et d'échange. Il est généralement préféré dans des contextes académiques ou pour des applications où la simplicité de l'algorithme prime sur les performances. Cependant, dans des applications réelles nécessitant des performances optimales, d'autres algorithmes, comme le tri par tas ou le tri rapide, sont généralement privilégiés pour les grandes quantités de données.

Principe du tri par sélection

Voici les principes détaillés étape par étape du tri par sélection :

Algorithme

Voici l'algorithme de la tri par sélection :

BOUCLE POUR I ← 0 JUSQU'A Nombre d'élément - 2 PAS 1 FAIRE
   PositionI
   TemporaireTableau [ I ]
   * Chercher le plus petit élément à partir de la position «I»
   BOUCLE POUR JI + 1 JUSQU'A Nombre d'élément - 1 PAS 1 FAIRE
      SI Tableau [J ] < Temporaire ALORS
         PositionJ
         TemporaireTableau [ J ]
      FIN SI
   FIN BOUCLE POUR
   * Mettre le plus petit élément à la position «I»
   Tableau [ Position ] ← Tableau [ I ]
   Tableau [ I ] ← Temporaire
FIN BOUCLE POUR


Dernière mise à jour : Dimanche, le 12 mars 2006