[RECHERCHE] Algo de Tri en C

Algo de Tri en C [RECHERCHE] - C - Programmation

Marsh Posté le 27-02-2005 à 17:36:39    

Bonjour
 
je recherche les algo de tri suivant:
 
- Rapide  
- Fusion
- Bulle
 
Merci d'avance  :jap:  
 
PS: Une recherche m'aurai surement donné une réponse mais si quelqu'un a la gentillesse de me les faire parvenir ça serai vraiment sympa.

Reply

Marsh Posté le 27-02-2005 à 17:36:39   

Reply

Marsh Posté le 27-02-2005 à 17:38:08    

google tu connais ?


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 27-02-2005 à 17:39:10    

Le tri à bulle est le plus simple, tu peux le trouver toi-même. En général quand on cherche soi-même un algo de tri, on tombe d'abord sur le tri à bulle :)

Reply

Marsh Posté le 27-02-2005 à 17:39:52    

cherche l'enculante toile  :o  

Reply

Marsh Posté le 27-02-2005 à 18:09:57    

_bryce_ a écrit :

Bonjour
 
je recherche les algo de tri suivant:
 
- Rapide  
- Fusion
- Bulle
 
Merci d'avance  :jap:  
 
PS: Une recherche m'aurai surement donné une réponse mais si quelqu'un a la gentillesse de me les faire parvenir ça serai vraiment sympa.


 
Tri à bulle
Tu balayes ton tableau. Si l'élément que tu traites n'est pas à sa place par rapport à l'élément suivant tu inverses les deux éléments.
Tu recommence le balayage complet tant que tu as eu au-moins une inversion (tu peux optimiser ce tri en mémorisant l'endroit de la première inversion et en ne recommençant le balayage qu'à partir de cet endroit lors de l'itération suivante)
 
Tri rapide
Tu découpes ton tableau en 2 parties à partir d'un pivot.
Tu balayes la partie de gauche à la recherche d'un élément plus grand que le pivot
Tu balayes la partie de droite à la recherche d'un élément plus petit que le pivot
Dès que t'as trouvé les deux éléments tu les intervertis.
Dès que t'as tout balayé à gauche et à droite, si la partie de gauche a plus d'un élément tu relances l'algo complet (récursivité) sur la partie de gauche. Idem pour la droite.
 
Tri fusion
Tu découpes ton tableau en 2 puis encore en 2 etc jusqu'à arriver à n paquets de 2 éléments.
Pour chaque paquet de deux éléments, tu tries les deux éléments l'un par rapport à l'autre.
Ensuite, tu prends les n paquets 2 à 2 et tu les fusionnes ensemble. Chaque fusion te redonne un paquet. Tu recommences alors la fusion sur les nouveaux paquets jusqu'à ce que tu n'aies plus qu'un paquet totalement trié.


Message édité par Sve@r le 27-02-2005 à 18:40:33

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 27-02-2005 à 22:41:39    

http://www.csse.monash.edu.au/~llo [...] Sort/Heap/
http://ciips.ee.uwa.edu.au/~morris [...] heaps.html
http://dept-info.labri.u-bordeaux. [...] _2000.html
http://www.cs.bham.ac.uk/~mhe/foundations2/node69.html
 
 
quelques liens...
 
le tri fusion, c'est bien les heap sort??
dans ce cas, l'algo c'est plutot:
tu trie des tas de 3.
avec deux tas de 3, tu fais un tas trié de 2*3+1 = 7
avec deux tas de 7, tu fais un tas trié de 2*7+1 = 15
jusqu a ce que t'es tout triés.
 
enfin lis les liens, c'est plus clair :whistle:

Reply

Marsh Posté le 01-03-2005 à 14:31:58    

slvn a écrit :

http://www.csse.monash.edu.au/~llo [...] Sort/Heap/
http://ciips.ee.uwa.edu.au/~morris [...] heaps.html
http://dept-info.labri.u-bordeaux. [...] _2000.html
http://www.cs.bham.ac.uk/~mhe/foundations2/node69.html
 
 
quelques liens...
 
le tri fusion, c'est bien les heap sort??
dans ce cas, l'algo c'est plutot:
tu trie des tas de 3.
avec deux tas de 3, tu fais un tas trié de 2*3+1 = 7
avec deux tas de 7, tu fais un tas trié de 2*7+1 = 15
jusqu a ce que t'es tout triés.
 
enfin lis les liens, c'est plus clair :whistle:


 
Pour moi, le tri fusion c'est plutôt le "merge sort"
http://www.csse.monash.edu.au/~llo [...] Sort/Merge


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed