Samedi 10 Mai 2008
~ Algorithme de tri par selection ~
Menu
> Accueil

Programmation
> Algorithmes de tri
> Java

Réseaux Telecom
> Logiciel Vigie

Dossiers
> Trajectoire de comètes
> Gestion d'emploi du temps
> Tracking d'internautes
> Référencement
> Open Office
> Multi-agents dans les EIAH

Divers
> Album Photo
> Citations
> Recettes
> Bibliothèque
> Logiciels
> Mini-Annuaire

A propos
> Mon CV
> Me contacter
Recherche
Google
Sur ce site
Sur le web
Annonces
Accueil > Algorithmes de tri > Tri par selection
sommaire
precedent accueil suivant

Aide & Téléchargement

Présentation

Le tri par sélection est l'un des tris les plus instinctifs. Le principe est que pour classer n valeurs, il faut rechercher la plus grande valeur et la placer en fin de liste, puis la plus grande valeur dans les valeurs restante et la placer en avant dernière position et ainsi de suite...

Considérons un tableau à n éléments. Pour effectuer le tri par sélection, il faut rechercher dans ce tableau la position du plus grand élément. Le plus grand élément est alors échangé avec le dernier élément du tableau. Ensuite, on réitère l'algorithme sur le tableau constitué par les (n-p) premiers éléments où p est le nombre de fois où l'algorithme a été itéré. L'algorithme se termine quand p=(n-1), c'est à dire quand il n'y a plus qu'une valeur à sélectionner ; celle ci est alors la plus petite valeur du tableau.

Exemple

Grandes étapes de l'évolution du tableau au fil de l'algorithme. En bleu, les valeurs déja traitées.

531264
531246
431256
231456
213456
123456

Pseudo langage
C / C++ Caml Java OCaml

Complexité

La relative simplicité de cet algorithme fait qu'on lui attribut le qualificatif d' "algorithme naïf". Cela signifie que même si l'algorithme est correct, il est trop simple pour être réellement efficace. En effet, la complexité, en nombre de comparaisons, est analogue à la complexité du tri bulle optimisé. A la première itération, sont effectuées (n-1) comparaisons. A la pième itération, sont effectuées (n-p) comparaisons. Soit une complexité en O(n2) dont le calcul exact est donné par la formule suivante.

Sum(n-p,p=1..n-1)

sommaire
precedent accueil suivant
Accueil > Algorithmes de tri > Tri par selection