Home

sorteermethoden

Sorteren is het proces waarbij een verzameling items wordt gerangschikt volgens een gekozen volgorde, meestal oplopend volgens numerieke waarde of lexicografische volgorde. Het doel is efficiënte verwerking, zoeken en voorstelling van gegevens.

Sorteermethoden worden doorgaans ingedeeld in twee hoofdgroepen: vergelijkinggebaseerde sortering en niet-vergelijkings-sortering. Bij vergelijkinggebaseerde sortering worden elementen

Voorbeelden van vergelijkinggebaseerde sortering zijn bubble sort, insertion sort en selection sort, die eenvoudig zijn maar

Niet-vergelijkings-sortering werkt door gebruik te maken van eigenschappen van de sleutels in plaats van directe vergelijkingen.

Praktische overwegingen en terminologie: Bij de keuze van een sorteeralgoritme spelen factoren mee zoals tijdcomplexiteit, stabiliteit

uitsluitend
vergeleken
om
hun
volgorde
te
bepalen.
De
meeste
algemene
sorteeralgoritmen
vallen
in
deze
groep.
vaak
O(n^2)
tijd
vereisen
in
het
slechtste
geval.
Geavanceerdere
methodes
zoals
mergesort,
heapsort
en
quicksort
halen
doorgaans
O(n
log
n)
tijd,
maar
verschillen
in
stabiliteit
en
geheugenbehoefte:
mergesort
is
meestal
stabiel,
heapsort
en
standaard
quicksort
niet
per
definitie
stabiel
maar
kunnen
stabiel
worden
gemaakt;
in-place
implementaties
bestaan
voor
enkele
algoritmen.
Voorbeelden
zijn
counting
sort,
radix
sort
en
bucket
sort.
Deze
methoden
kunnen,
onder
gunstige
aannames
(bijvoorbeeld
beperkt
sleutelbereik
of
uniforme
verdeling),
lineaire
tijd
bereiken:
counting
sort
O(n
+
k)
met
k
het
bereik
van
sleutels;
radix
sort
O(n
·
d)
met
d
het
aantal
digits;
bucket
sort
afhankelijk
van
de
verdeling.
Ze
vereisen
vaak
extra
geheugen
en
zijn
minder
flexibel
bij
variërende
sleutelruimtes.
(of
gelijke
elementen
in
dezelfde
volgorde
blijven),
geheugenruimte
en
of
sorteren
in-place
mogelijk
is.
In
de
praktijk
worden
vaak
hybride
of
gespecialiseerde
algoritmen
toegepast,
afhankelijk
van
data
en
vereisten.