Selection Sort in Java: Stapsgewijze voorbeeld & complete code
Wat is Selection Sort?
Selection Sort is een eenvoudig vergelijkingsgebaseerd algoritme dat herhaaldelijk het kleinste overgebleven element selecteert en op de juiste plek verwisselt. Hoewel niet het snelste voor grote datasets, maakt de eenvoud het ideaal voor educatieve doeleinden en kleine arrays.
Hoe het algoritme werkt
- Begin aan het begin van de array.
- Zoek het kleinste element in het ongesorteerde deel.
- Verwissel het met het element op de huidige positie.
- Verschuif de grens tussen gesorteerde en ongesorteerde secties één stap naar rechts.
- Herhaal tot de hele array gesorteerd is.
Java-implementatie
Hieronder staat een beknopt Java-programma dat het selection sort algoritme demonstreert op een integer-array. De code print de array voor en na sorteren, evenals de tussentijdse stappen om elke pas te illustreren.
package com.guru99; public class SelectionSortAlgo { public static void main(String[] args) { int[] mijnArray = {860, 8, 200, 9}; System.out.println("------Voor Selection Sort-----"); printArray(mijnArray); selection(mijnArray); // Array sorteren System.out.println("-----Na Selection Sort-----"); printArray(mijnArray); } public static void selection(int[] array) { for (int i = 0; i < array.length - 1; i++) { System.out.println("Sorteerpas nummer " + (i + 1)); int index = i; for (int j = i + 1; j < array.length; j++) { System.out.println("Vergelijken " + array[index] + " en " + array[j]); if (array[j] < array[index]) { System.out.println(array[index] + " is groter dan " + array[j]); index = j; } } int kleinerGetal = array[index]; array[index] = array[i]; array[i] = kleinerGetal; System.out.println("Elementen verwisselen: Nieuwe array na wissel"); printArray(array); } } private static void printArray(int[] array) { for (int i = 0; i < array.length; i++) { System.out.print(array[i] + " "); } System.out.println(); } } Voorbeelduitvoer
------Voor Selection Sort----- 860 8 200 9 Sorteerpas nummer 1 Vergelijken 860 en 8 860 is groter dan 8 Vergelijken 8 en 200 Vergelijken 8 en 9 Elementen verwisselen: Nieuwe array na wissel 8 860 200 9 Sorteerpas nummer 2 Vergelijken 860 en 200 860 is groter dan 200 Vergelijken 200 en 9 200 is groter dan 9 Elementen verwisselen: Nieuwe array na wissel 8 9 200 860 Sorteerpas nummer 3 Vergelijken 200 en 860 Elementen verwisselen: Nieuwe array na wissel 8 9 200 860 -----Na Selection Sort----- 8 9 200 860
Prestatie-opmerkingen
Selection Sort voert O(n²) vergelijkingen uit ongeacht de invoer en gebruikt maximaal O(1) extra geheugen. Het deterministische gedrag maakt het geschikt voor omgevingen waar geheugen beperkt is.
Java
- Java arrays beheersen: declaratie, initialisatie en manipulatie
- Java Hello World: Stap-voor-stap gids om je eerste Java-programma te schrijven
- Encapsulatie in Java: Uitgebreide gids met praktisch voorbeeld
- Java Variabelen en Datatypes – Uitgebreide gids met voorbeelden
- Java String length() Methode: Hoe de grootte van een String op te vragen (Voorbeeld)
- Java String.charAt() begrijpen: Syntaxis, Retourtype, Exceptions en Praktisch Voorbeeld
- Java String.contains() Methode: Controleren op Substrings – Praktische Voorbeelden
- Java String.endsWith() beheersen: Controleren op String-suffixen met voorbeelden
- Bestanden Lezen in Java met BufferedReader – Een Praktische Gids met Voorbeelden
- Bubble Sort in Java beheersen: Duidelijk voorbeeld & stapsgewijze walkthrough
- Insertion Sort algoritme in Java: Duidelijk voorbeeld & stapsgewijze handleiding