Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erläuterung von Beispielen für die Auswahlsortierung in Python

Ausführliche Erläuterung von Beispielen für die Auswahlsortierung in Python

零下一度
零下一度Original
2017-06-25 10:14:291553Durchsuche

Auswahlsortierung:

Auswahlsortierung (Auswahlsortierung) ist ein einfacher und intuitiver Sortieralgorithmus. So funktioniert es. Suchen Sie zunächst das kleinste (große) Element in der unsortierten Sequenz und speichern Sie es am Anfang der sortierten Sequenz. Suchen Sie dann weiterhin das kleinste (große) Element aus den verbleibenden unsortierten Elementen und fügen Sie es dann am Ende ein sortierte Reihenfolge. Und so weiter, bis alle Elemente sortiert sind. Der Hauptvorteil der Auswahlsortierung betrifft die Datenbewegung. Befindet sich ein Element an der richtigen Endposition, wird es nicht verschoben. Jedes Mal, wenn die Auswahlsortierung ein Elementpaar vertauscht, wird mindestens eines davon an seine endgültige Position verschoben, sodass das Sortieren einer Liste mit n Elementen höchstens n-1 Vertauschungen erfordert. Unter allen Sortiermethoden, die zum Verschieben von Elementen ausschließlich auf Austausch basieren, ist die Auswahlsortierung eine sehr gute Methode.

Python-Implementierung:

 1 # selection_sort.py 2 def selection_sort(arr): 3     count = len(arr) 4     for i in range(count-1):    # 交换 n-1 次 5         min = i 6         # 找最小数 7         for j in range(i, count): 8             if arr[min] > arr[j]: 9                 min = j10         arr[min], arr[i] = arr[i], arr[min]    # 交换11     return arr12 13 my_list = [6, 23, 2, 54, 12, 6, 8, 100]14 print(selection_sort(my_list))

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Beispielen für die Auswahlsortierung in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn