Een sorteeralgoritme is een vastgelegde methode die een computer volgt om een lijst items in een bepaalde volgorde te zetten, zoals namen alfabetisch of prijzen van laag naar hoog. Er zijn er veel, elk met een eigen afweging tussen snelheid, geheugengebruik en eenvoud. Het is een van de meest bestudeerde onderwerpen in de informatica.
Een goede manier om het verschil te voelen is je voorstellen dat je een stapel kaarten sorteert. Je zou de hele stapel kunnen aflopen om de laagste kaart te vinden, die apart leggen en herhalen, wat simpel maar traag is. Of je splitst de stapel in tweeën, sorteert elke helft en voegt ze weer samen, wat is hoe mergesort werkt en veel sneller is voor een grote stapel. Allebei zijn geldige algoritmes, maar hun prestaties lopen scherp uiteen naarmate de lijst groeit. Dat verschil meet je met Big O-notatie, de standaardmanier om te beschrijven hoe een algoritme schaalt.
Ook de vorm van de data verandert het antwoord. Staat een lijst al bijna op volgorde, dan vliegt een methode als insertion sort er doorheen, terwijl quicksort zich juist slecht kan gedragen op verkeerd gesorteerde data als hij niet zorgvuldig is geschreven. Daarom gebruiken veel ingebouwde sorts een hybride als Timsort, die mergesort en insertion sort mengt om snel te blijven op echte invoer.
Voor het meeste dagelijkse werk schrijf je nooit zelf een sorteeralgoritme, want elke moderne programmeertaal heeft er al een snelle, betrouwbare ingebouwd. Weten dat ze bestaan helpt je vooral begrijpen waarom sommige bewerkingen direct voelen en andere kruipen, en wanneer een traag rapport een nadere blik verdient.
Bij TopDevs kiezen we de juiste aanpak voor de data die voorligt, zodat je rapporten, zoekopdrachten en lijsten snel blijven, ook als je data groeit.