In diesem Artikel werden hauptsächlich Java-Beispiele für die einfache Auswahlsortierung ausführlich vorgestellt, die einen bestimmten Referenzwert haben
Grundkonzepte
Bei jedem Durchlauf wird der Datensatz mit dem kleinsten Schlüsselwort aus den zu sortierenden Datensätzen ausgewählt und die Reihenfolge wird am Ende der sortierten Datensatzsequenz platziert, bis die gesamte Sortierung abgeschlossen ist.
2. Implementierungsideen
Suchen Sie das Element mit dem kleinsten Schlüsselwort aus der zu sortierenden Sequenz.
Wenn das kleinste Element nicht das erste Element ist Reihenfolge, die sortiert werden soll, tauschen Sie es mit dem ersten Element aus.
Suchen Sie das Element mit dem kleinsten Schlüsselwort aus den verbleibenden N - 1 Elementen und wiederholen Sie die Schritte (1) und (2), bis die Sortierung abgeschlossen ist.
3. Code-Implementierung
public class SelectionSort { public static void selectionSort(int[] list){ //需要遍历获得最小值的次数 if (1>=list.length)return; for (int i=0;i<list.length-1;i++){ int temp=0; int index=i; //选择当前值为最小值索引 for (int j=i+1;j<list.length;j++){ if (list[index]>list[j]){ index=j; //修改最小值索引 } } temp=list[index]; list[index]=list[i]; list[i]=temp; } } public static void main(String[] args){ int[] list={4,3,6,5,7,8,2,10,2,9}; selectionSort(list); for (int num:list){ System.out.print(num+" "); } } }
4 Die Anzahl der Vergleiche für die einfache Auswahlsortierung hat nichts mit der anfänglichen Sortierung der Sequenz zu tun. Unter der Annahme, dass die zu sortierende Sequenz N Elemente hat, beträgt die Anzahl der Vergleiche immer N (N - 1) / 2.
Die Anzahl der Züge hängt von der anfänglichen Sortierung der Sequenz ab. Wenn die Reihenfolge in positiver Reihenfolge vorliegt, ist die Anzahl der Züge am geringsten, nämlich 0.
Wenn die Reihenfolge in umgekehrter Reihenfolge vorliegt, ist die Anzahl der Züge am höchsten, nämlich 3N (N). - 1) / 2.
Auf der Grundlage des oben Gesagten beträgt die zeitliche Komplexität der einfachen Sortierung also O(N2).
Das obige ist der detaillierte Inhalt vonCodebeispiele für die Auswahlsortierung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!