IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Codes sources à télécharger Delphi Discussion :

Tri Quick-sort sans appel récursif [Sources]


Sujet :

Codes sources à télécharger Delphi

  1. #1
    Inactif  

    Inscrit en
    Juillet 2004
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 46
    Points : 135
    Points
    135
    Par défaut Tri Quick-sort sans appel récursif
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Tri Quick-sort sans appel récursif

    Voici donc un algo de quick sort en Pascal, non récursif, qui permet de trier n'importe quel type de données avec la meilleur performance possible. Le quick sort étant sans contestation le tri le plus rapide dans un maximum de cas.

    Qu'en pensez-vous ?

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour et merci pour cette contribution !

    Utilisant le tri QuickSort depuis le Quick Basic, Turbo Basic et autres, je l'ai par la suite utilisé en Turbo Pascal …

    Mais un jour en VBA (Excel) je suis tombé sur un PC un peu juste en ressources plantant sur une erreur de dépassement de capacité de piles.
    Je me suis rabattu sur un tri CombSort non récursif assez "rapide" jusqu'à un millier d'éléments à trier
    (en fait c'est selon la génération du processeur), mais au delà, le tri QuickSort est forcément bien plus véloce !

    J'ai donc adapté votre gestion de la variable tableau afin de se passer de la récursivité en VBA, je commence à 20 au lieu de 100
    et la dimension de la variable augmente dynamiquement au cours de la procédure si nécessaire …

    A noter qu'au cours de tests variant jusqu'à 100 000 éléments, je n'ai pas constaté avec un i5 en VBA
    des écarts de temps vraiment significatifs entre la version standard et la non récursive, elles sont souvent équivalentes …
    Mais même si les ordinateurs d'aujourd'hui sont assez puissants, c'est bon de savoir qu'on peut limiter les ressources
    lors de centaines de milliers d'éléments à trier !

    Il faudrait qu'un de ses quatre je me remette à Delphi et autres Pascal ! …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

Discussions similaires

  1. help fonction tri bubble sort
    Par Invité dans le forum C
    Réponses: 10
    Dernier message: 22/12/2005, 20h54
  2. [onresize] appels récursifs
    Par pmartin8 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/12/2005, 21h15
  3. Pb de tri avec "sort"
    Par blueice dans le forum Langage
    Réponses: 2
    Dernier message: 20/10/2005, 12h19
  4. Réponses: 3
    Dernier message: 08/08/2005, 11h24
  5. tri a bulle sans les doublons
    Par comme de bien entendu dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 10/03/2003, 16h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo