Rangschikkingsalgoritmes
Rangschikkingsalgoritmes zijn algoritmes die een ongeordende verzameling elementen herordenen volgens een comparator, zodat de elementen in oplopende of aflopende volgorde komen te staan. Ze spelen een centrale rol in informatica en data-analyse.
Classificatie en eigenschappen: Rangschikkingsalgoritmes kunnen worden onderverdeeld in vergelijking-gebaseerde sorteringen en niet-vergelijken-sorteringen. Bij vergelijking-gebaseerde methoden wordt
Tijd- en ruimtecomplexiteit: Voor vergelijking-gebaseerde sorteringen geldt een bekende grens van Ω(n log n) vergelijkingen in
- Eenvoudige sorteringen zoals bubble sort, insertion sort en selection sort, meestal O(n^2) in tijd.
- Merge sort: O(n log n) in alle gevallen, stabiel, maar vereist extra geheugen.
- Quicksort: O(n log n) gemiddeld, O(n^2) worst-case; meestal in-place maar niet stabiel.
- Heapsort: O(n log n), in-place, niet stabiel.
- Counting sort en radix sort: O(n + k) respectievelijk O(nk), stabiel en geschikt bij passende aannames.
- Bucket sort: afhankelijk van verdeling en bereik, kan zeer snel zijn.
Toepassingen omvatten sortering van records, databaseoperaties, preprocessing voor zoekalgoritmen en algemene data-analyse. Bij zeer grote datasets