Home

sorteeralgoritmen

Een sorteeralgoritme is een methode om een verzameling elementen in oplopende of aflopende volgorde te plaatsen, meestal op basis van numerieke waarden of lexicografische volgorde. Sorteren vindt toepassing in databases, zoekmachines en wiskundige berekeningen, en helpt bij snelle selectie, zoekopdrachten en analyse.

Er bestaan twee hoofdcategorieën: vergelijkinggebaseerde sorteringen en niet-vergelijkende sorteringen. Bij vergelijkinggebaseerde sorteringen worden elementen uitsluitend vergeleken

Tijd- en ruimtecomplexiteit variëren per algoritme. Vergelijkingssorteringen hebben typisch O(n log n) tijd in het gemiddelde;

Toepassingen hangen af van datasetkenmerken en eisen aan stabiliteit of geheugen. Voor grote datasets die niet

---

om
hun
volgorde
te
bepalen.
Voorbeelden
zijn
bubbelsort,
invoegsort,
selectiesort,
mergesort,
quicksort
en
heapsort.
Niet-vergelijkende
sorteringen
gebruiken
distributie
op
basis
van
waarden
of
digits
en
zijn
bijvoorbeeld
counting
sort,
radix
sort
en
bucket
sort;
ze
kunnen
onder
gunstige
voorwaarden
sneller
zijn
dan
O(n
log
n).
Stabiliteit
en
geheugenverbruik
zijn
belangrijke
eigenschappen:
stabiele
sorteringen
behouden
de
relatieve
volgorde
van
gelijke
elementen
(bijv.
mergesort
en
veel
implementaties
van
counting
sort);
in-place
sorteringen
gebruiken
weinig
extra
geheugen
(bijv.
heapsort
en
vaak
snelle
in-place
varianten
van
quicksort).
mergesort
en
heapsort
bereiken
dit
in
alle
gevallen,
terwijl
quicksort
gemiddeld
O(n
log
n)
is
maar
O(n^2)
worst-case
kan
zijn.
Ruimtecomplexiteit
verschilt:
sommige
algoritmen
zijn
in-place
(geen
extra
geheugen)
terwijl
anderen
extra
buffer
vereisen.
Niet-vergelijkende
sorteringen
kunnen
bij
beperkte
bereikkenmerken
sneller
zijn,
met
tijdcomplexiteiten
zoals
O(n)
onder
geschikte
voorwaarden,
maar
vereisen
vaak
extra
ruimte.
in
het
geheugen
passen,
is
externe
sortering
gebruikelijk;
mergesort
wordt
daarvoor
vaak
toegepast.
Voor
kleine
of
bijna
gesorteerde
datasets
kunnen
eenvoudiger
algoritmen
volstaan.
Historisch
gezien
hebben
eenvoudiger
methoden
zoals
bubbel-
en
selectie-sortering
plaatsgemaakt
voor
efficiëntere
algoritmen
zoals
mergesort,
heapsort
en
quicksort.