Eine einfache Sortierung der Selektion ist ein intuitiver und häufig verwendeter Sortierungsalgorithmus, der verschiedene Daten effektiv verarbeiten kann. Die Kernidee besteht darin, den Mindestwert aus den Elementen zu wählen, die jedes Mal sortiert werden sollen, und am Ende der sortierten Sequenz platzieren. Der spezifische Vorgang ist: Das erste Mal wählt das kleinste Element im gesamten Array aus und wechselt die erste Position aus, das zweite Mal wählt den kleinsten Wert aus den verbleibenden Elementen aus und wechselt die zweite Position aus, bis alle Elemente sortiert sind.
Holen Sie sich zuerst die Arraylänge N und führen Sie dann den N-1-Rundauswahlvorgang durch. Jede Auswahlrunde findet den Mindestwert aus dem ungeortierten Teil und tauscht ihn mit dem Element an der Startposition der aktuellen Runde aus, um die lokale Bestellung zu erreichen und schließlich die Gesamtsortierung abzuschließen.
Das Folgende ist ein Beispielcode für die einfache Sortierung der PHP -Implementierung für die einfache Auswahl, die das Verständnis des spezifischen Ausführungsprozesses des Algorithmus erleichtert:
function selectionSort(&$arr)
{
$len=count($arr);
for($i=0;$i<$len-1;$i++)
{
$min=$i; // Angenommen, das aktuelle Element ist die Mindestwertposition
for($j=$i+1;$j<$len;$j++) // Finden Sie kleinere Werte aus nachfolgenden Elementen
{
if($arr[$j]<$arr[$min])
{
$min=$j; // Aktualisieren Sie die Mindestwertposition
}
}
if($min!=$i) // Tauschen Sie Elemente aus, wenn sich die Position ändert
{
$temp=$arr[$min];
$arr[$min]=$arr[$i];
$arr[$i]=$temp;
}
}
}
Eine einfache Auswahlsortierung erfordert N-1-Auswahlrunden, jede Runde findet den Mindestwert zwischen den verbleibenden Elementen, sodass die Anzahl der Vergleiche etwa n²/2 beträgt und die Anzahl der Bewegungen von der anfänglichen Datenreihenfolge abhängt. Die Gesamtzeitkomplexität ist O (n²). Wenn das Datenvolumen gering ist oder im Grunde genommen geordnet ist, ist der Algorithmus immer noch praktisch.
Dieser Algorithmus verwendet nur eine temporäre Variable, um den Austausch zu unterstützen, wobei extrem kleiner Raum und eine räumliche Komplexität von O (1).
Einfache Auswahlsortierung ist ein instabiler Sortieralgorithmus. Die gleichen Elemente können die relative Reihenfolge aufgrund von Austauschpositionen während des Sortierprozesses ändern. Beispielsweise wird in der Sequenz 5 8 5 2 9 nach der ersten Börsenrunde das kleinste Element 2 mit dem ersten Element 5 die gleiche Positionsreihenfolge von 5 gestört.