Mardi 13 Mai 2008
~ Algorithme de tri par creation ~
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 creation
sommaire
precedent accueil suivant

Aide & Téléchargement

Présentation

Autant le dire tout de suite, cet algorithme ne présente pas un grand intérêt au niveau algorithmique, il est relativement compliqué, pour un résultat pas franchement extraordinaire. Cependant, il est présenté ici à titre d'illustration et ne sera implémenté que dans le cas de tableaux. Cet algorithme peut être utilisé lorsque l'utilisateur souhaite conserver une copie du tableau original. Cependant, l'utilisateur aura sans doute un plus grand intérêt à faire une copie du tableau avant de le trier avec l'un des algorithmes les plus performants qui sont présentés à la suite.

Le principe de ce tri est de créer un tableau vide de même taille que le tableau à trier, puis de chercher dans le tableau à trier le plus petit élément afin de le placer en première position du tableau nouvellement créé. Ensuite, l'algorithme recherche successivement les éléments suivants afin de les placer, à la suite, dans le nouveau tableau. L'algorithme se termine lorsque tous les éléments du tableau ont été ajoutés.

Pour mettre en place ce tri, il faut écrire une fonction intermédiaire qui permet de chercher les différents éléments successifs. Cette fonction est appelée "pos_suivant".

Exemple

Soit le tableau à trier suivant :

531264


Le nouveau tableau créé va évoluer ainsi au fil de l'algorithme :

1?????
12????
123???
1234??
12345?
123456


Pseudo langage
C / C++ Caml Java OCaml

Complexité

Pour mettre en œuvre cet algorithme, il y a un nombre fixe de comparaisons à effectuer. Considérons un tableau de n éléments. A chaque fois, pour trouver l'élément suivant le dernier élément trouvé, il faut parcourir tout le tableau. Soit, pour trouver les n éléments, parcourir n fois le tableau et, par voie de conséquence, effectuer n comparaisons. Ceci revient donc à effectuer n2 comparaisons. Dans la pratique, il faut constater que ce nombre est légèrement supérieur. Cela est du à quelques vérifications supplémentaires qui sont indispensables pour gérer quelques "effets de bords" comme la prise en charge des valeurs multiples. La complexité de l'algorithme est donc, de toute façon, en O(n2).

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