Was ist selectionsort?

Selectionsort ist ein einfacher Sortieralgorithmus, der auf dem Prinzip des wiederholten Auswählens des kleinsten Elements aus einer nicht sortierten Liste basiert und dieses an die erste Stelle der Liste setzt. Dieser Prozess wird dann für die restlichen Elemente wiederholt, wobei das jeweils nächstkleinste Element aus der verbleibenden Liste ausgewählt und an die entsprechende Position gesetzt wird.

Selectionsort gehört zu den ineffizientesten Sortieralgorithmen, da er eine Zeitkomplexität von O(n^2) hat. Das bedeutet, dass die Zeit, die benötigt wird, um die Liste zu sortieren, quadratisch mit der Anzahl der Elemente in der Liste ansteigt. Daher ist Selectionsort für große Listen nicht optimal und wird meist nur für kleine Arrays oder als simples Beispiel für Sortieralgorithmen verwendet.

Ein möglicher Pseudocode für Selectionsort sieht folgendermaßen aus:

  1. Setze den Index des zu sortierenden Bereichs auf den Anfang der Liste
  2. Solange der sortierte Bereich nicht bis zum Ende der Liste reicht:
  3. Setze den Index des kleinsten Elements auf den Index des Anfangs des sortierten Bereichs
  4. Durchlaufe den unsortierten Bereich und merke dir den Index des kleinsten Elements
  5. Vertausche das kleine Element mit dem Element an der aktuellen Position im sortierten Bereich
  6. Erhöhe den Index des sortierten Bereichs um eins

Nachdem dieser Algorithmus durchlaufen wurde, ist die Liste vollständig sortiert.