LE TRI LE PLUS RAPIDE

Agaga - 13 avril 2001 à 14:45
cs_olbou621 Messages postés 9 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 2 novembre 2008 - 2 juin 2005 à 13:51
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/920-le-tri-le-plus-rapide

cs_olbou621 Messages postés 9 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 2 novembre 2008
2 juin 2005 à 13:51
Y a pas à dire .... c'est hyper rapide.
Je l'utilise pour trier des tableaux de chaînes de caractères de 100 000 lignes
Ca mérite bien un 10 sur 10 pour l'efficacité et la simplicité du code.
cs_Esquisse Messages postés 77 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 20 juillet 2005
10 févr. 2004 à 15:19
Je n'ai qu'un mot BRAVO

L'algo est sans bug, compréhensible, très rapide et j'ai put l'adapter facilement a mes tableaux à deux dimensions, faire des tris décroissants.

Ca mérite un 10/10 !
noah56 Messages postés 9 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 27 février 2008
9 janv. 2004 à 15:31
Une listview cacher "trier" c'est fait !!!!! beaucoup plus rapide
Leonello Messages postés 12 Date d'inscription mercredi 24 décembre 2003 Statut Membre Dernière intervention 1 novembre 2004
26 déc. 2003 à 00:24
D'après mes souvenirs de programmation en Pascal, une méthodes de tri par arbre binaire dépassait et de très loin toutes les méthodes de tri.
Il suffisait de chainer les éléments à trier et de les orienter à droite ou à gauche, suivant l'ordre en construisant un arbre.
matthieuauchan Messages postés 4 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 20 mai 2003
19 mai 2003 à 12:01
Ben oui ! Tu n'as rien inventé ...
Quicksort = The best !
cs_Cheval Messages postés 81 Date d'inscription dimanche 21 juillet 2002 Statut Membre Dernière intervention 11 octobre 2015
28 juil. 2002 à 02:55
J'ai trouvé cette rotine sous vb4. Je l'ai integré dans un logiciel que j'ai appelé BIBLIOT donne moi ton mail et je t'enverrai la source
Mon MAIL serge.cheval@wanadoo.fr
la derniere version est en vb6
C'EST VRAI QU'IL N'Y A PAS PLUS RAPIDE. J'AI COMPA SECONDES LES AUTRES ENTRE RER AVEC D'AUTREs ROUTINE POUR 5421 FICHES NOTRE ROUTINE TRIE EN MINUTES ET UNE HEURE BONJOUR LES DEGAS.
Salut,
Il y a plus rapide,
la plupart des programmeurs partent du principe qu'il faut faire une comparaison pour faire un tri, c'est le cas pour des structures complexes comme des polygones.
Mais, un nombre a un positionnement absolu dans un ensemble. On peut parcourir un tableau et positionner un nombre dans l'absolu dans un autre tableau.
Mais c'est énorme me direz vous, pour des entiers long il faudrais créer un tableau de 2Go ?
Que nenni, j'ai mieux. Faite un arbre.
A chaque fois que vous passez sur un nombre, vous le décomposez en binaire et vous construisez les branches de l'arbre en fonction des 0 et des 1 qui le compose.
A la fin des branches, vous comptez le nombre d'occurence trouvé du nombre.
Il ne vous reste plus à la fin qu'à balayer l'arbre et à reconstituer le tableau classé.
Résultat des courses, j'ai une complexité en x*n qui explose les sytèmes classiques et même celui proposé ici. Il existe même une adaptation pour classer des chaines de caractères.
Le tri bulle à la fin est là pour limiter en quelques sortes, les dépassements de piles lors d'appels récursifs trop nombreux car VB ne peut dépasser les 4000 appels récursifs (environ)!
D'autres langages permettent une récursivité quasi-illimitée (cf CamL).
Je crois que le tri que tu as inventé s'appelle le tri fusion.
Mais pourquoi (c est ce que j'ai cru comprendre) tu utilises
le tri a bulle à la fin. Si c'est le cas pourquoi ne pas pratiquer la
récursivité jusqu'au bout c'est à dire quend il reste une case à trier

Jom
@+
Merci bcp pour cette fonction !
elle fonctionne comme le quick Sort nan ?
oh!!!? c'est arrangé!
Dans le zip le petit exemple en fin du module est mieu car il n'a pas été mis sens dessu-dessous!!!
désolé, je pouvais pas savoir <|:0(
Rejoignez-nous