Auf einer Konferenz hörte ich einmal eine schöne Geschichte darüber.
Bei Microsoft schrieb jemand eine VB-App (ca. VB 3) und schickte eine Reihe von Leuten per E-Mail, die sagten, er habe eine Menge Werte und er wollte, dass sie in der Combobox angezeigt werden, wie sollte er vorgehen?
Alle suchten nach ihren alten Lehrbüchern aus der Informatik, suchten nach hocheffizienten Routinen, portierten sie nach Visual Basic und schickten sie ihm zu. Einer hat gerade zurückgeschickt "Wie viele Werte in der Combobox?".
"Ungefähr 50" kam die Antwort.
"Setzen Sie einfach die sortierte Eigenschaft auf TRUE".
In 99,9999% der Instanzen erfolgt die Sortierung am besten mithilfe einer Bibliothek, eines Steuerelements oder in der SQL-Auswahl, da der Leistungsunterschied zwischen der Bibliotheksroutine und allem, was Sie schreiben, vernachlässigbar ist und der Aufwand und der Wartungsaufwand die Konsequenzen massiv überwiegen.
Obwohl es für die Bits und Zeitscheiben offensichtlich keine Rolle spielt. Ich finde Merge Sort einfacher zu schreiben und zu verstehen als Quicksort. Wenn ich also meinen eigenen Sortieralgorithmus schreibe, würde ich das verwenden.
quelle
Zumindest in einer kompetent geschriebenen Bibliothek würde ich erwarten, dass das integrierte System als Introsort und nicht nur als Quicksort
sort
implementiert wird . Der Unterschied ist selten von großer Bedeutung, aber Introsort eliminiert die schlechte Worst-Case-Leistung von Quicksort mit minimalen Auswirkungen auf die häufigsten Fälle.Um Ihre Frage jedoch zu beantworten: Ja - damit sollten Sie normalerweise beginnen, und bis / sofern Sie keine Profiler-Ergebnisse haben, die darauf hinweisen, dass es sich um ein Problem handelt, sollte es dort bleiben.
quelle