Lors d'une conférence, j'ai entendu une belle histoire à ce sujet.
Chez Microsoft, quelqu'un écrivait une application VB (c. VB 3) et a envoyé un paquet de personnes disant qu'il avait une charge de valeurs et qu'il voulait qu'elles apparaissent dans la zone de liste déroulante dans l'ordre, comment devrait-il s'y prendre.
Tout le monde a plongé pour ses vieux manuels d'informatique, recherchant des routines très efficaces, les portant sur Visual Basic et les lui envoyant par la poste. Un gars vient de renvoyer "combien de valeurs dans la liste déroulante?".
"Environ 50" est venu la réponse.
Msgstr "Définissez simplement la propriété triée sur TRUE".
Dans 99,9999% des cas, le tri est mieux effectué à l'aide d'une bibliothèque, d'un contrôle ou de la sélection SQL car la différence de performances entre la routine de bibliothèque et tout ce que vous écrivez sera négligeable et l'effort et la surcharge de maintenance l'emporteront largement sur les conséquences.
Bien que cela n'ait évidemment pas d'importance pour les bits et les tranches horaires. Je trouve que le tri par fusion est plus facile à écrire et à comprendre que le tri rapide. Donc, si je vais écrire mon propre algorithme de tri, je l'utiliserais.
la source
Au moins dans une bibliothèque écrite avec compétence, je m'attendrais à ce que le module intégré
sort
soit implémenté en tant qu'Introsort plutôt qu'en tant que Quicksort. La différence importe rarement beaucoup, mais Introsort élimine les mauvaises performances les plus défavorables de Quicksort avec un effet minimal sur les cas les plus courants.Pour répondre à votre question, cependant: oui - c'est ce que vous devriez habituellement commencer par, et jusqu'à / à moins que vous ayez des résultats de profileur indiquant que c'est un problème, c'est là qu'il devrait rester.
la source