Agaga
-
13 avril 2001 à 14:45
cs_olbou621
Messages postés9Date d'inscriptionvendredi 3 janvier 2003StatutMembreDerniè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.
cs_olbou621
Messages postés9Date d'inscriptionvendredi 3 janvier 2003StatutMembreDerniè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és77Date d'inscriptionsamedi 28 décembre 2002StatutMembreDernière intervention20 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és9Date d'inscriptionmardi 24 décembre 2002StatutMembreDernière intervention27 février 2008 9 janv. 2004 à 15:31
Une listview cacher "trier" c'est fait !!!!! beaucoup plus rapide
Leonello
Messages postés12Date d'inscriptionmercredi 24 décembre 2003StatutMembreDerniè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és4Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention20 mai 2003 19 mai 2003 à 12:01
Ben oui ! Tu n'as rien inventé ...
Quicksort = The best !
cs_Cheval
Messages postés81Date d'inscriptiondimanche 21 juillet 2002StatutMembreDernière intervention11 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
2 juin 2005 à 13:51
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.
10 févr. 2004 à 15:19
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 !
9 janv. 2004 à 15:31
26 déc. 2003 à 00:24
Il suffisait de chainer les éléments à trier et de les orienter à droite ou à gauche, suivant l'ordre en construisant un arbre.
19 mai 2003 à 12:01
Quicksort = The best !
28 juil. 2002 à 02:55
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.
5 août 2001 à 11:20
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.
8 juin 2001 à 00:27
D'autres langages permettent une récursivité quasi-illimitée (cf CamL).
6 juin 2001 à 15:32
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
@+
1 juin 2001 à 10:28
elle fonctionne comme le quick Sort nan ?
16 avril 2001 à 19:29
13 avril 2001 à 14:45
désolé, je pouvais pas savoir <|:0(