Wat is matrix sorteren?
Array sorteren is het proces waarbij de afzonderlijke elementen van een array worden genomen en in een soort logische volgorde worden gerangschikt volgens een reeks regels die door de gebruiker worden gedefinieerd. Het proces omvat het doorlopen van de array, één element per keer, en het testen van dat element tegen de omringende elementen om te bepalen of het naar een andere index binnen de array moet worden verplaatst. Bij het sorteren van arrays kunnen verschillende algoritmen worden gebruikt, vooral wanneer de sorteercondities numeriek zijn in tegenstelling tot iets meer willekeurig. De meeste array-sorteeralgoritmen worden gemeten aan de hand van hun snelheid en efficiëntie, waarbij de langzaamste algoritmen het gemakkelijkst te programmeren zijn en de snelste veel complexer.
Het eenvoudigste array-sorteeralgoritme wordt een bubbelsortering genoemd en is ook de langzaamste. Het proces begint met een lus die door elk element in de array gaat. Het huidige element wordt vergeleken met het volgende element in de array en als het volgende element een lagere waarde heeft dan het huidige element, worden de gegevens op de indices omgeschakeld. Het nadeel van een bubbelsoort is dat deze meerdere keren door de array moet lopen om alle benodigde swaps te maken om de array te sorteren. In de meest basale implementaties zal de sortering één volledige tijd doorlopen voor elk element dat het bevat.
Een selectiesortering maakt gebruik van een algoritme dat array-sortering op een iets efficiëntere manier uitvoert dan een bubbelsortering, maar nog steeds meerdere iteraties door de array vereist. Dit soort begint met het doorlopen van de array om het element met de laagste waarde te vinden. Dit element wordt vervolgens in de eerste index van de array geplaatst en sommige trackingvariabelen worden verhoogd. De cyclus wordt dan herhaald, nu op zoek naar de volgende laagste waarde die vervolgens in de tweede index van de array wordt geplaatst. Het proces gaat door totdat het element met de hoogste waarde in de laatste index van de array wordt geplaatst.
Een methode voor het sorteren van arrays die efficiënt kan zijn, maar soms ingewikkeld om te implementeren, staat bekend als een quicksort. Quicksorting omvat het nemen van een waarde die zich in het midden van alle mogelijke waarden in de array bevindt. Het algoritme doorloopt alle elementen van de array en plaatst alle waarden die groter zijn dan het mediaangetal aan het einde van de array en lagere waarden aan het begin. Dit proces wordt recursief uitgevoerd op blokken van de array totdat aan het einde de hele array is gesorteerd. Ervan uitgaande dat de middelste waarde die voor de array wordt gebruikt, redelijk nauwkeurig is, kan dit een zeer snelle manier zijn om te sorteren.
Een factor die van invloed kan zijn op een array-sorteeralgoritme is het middel waarmee de gegevens op gelijkwaardigheid worden getest. Eenvoudige getallen zijn gemakkelijk te vergelijken voor welke waarde groter is, maar dit is misschien niet het geval voor complexe gegevensklassen waarin meerdere voorwaarden moeten worden vergeleken. Hoe langer het duurt om te vergelijken of een element groter of kleiner is dan een ander, hoe langer het duurt voordat het algoritme de array sorteert.