Um Python und Algorithmen zu studieren, habe ich die selektive Sortierung implementiert.
Erstellen Sie eine zufällige Liste Beispiel: [1,3,0,4,2]
Suchen Sie den kleinsten Wert in der Liste der Operationsziele Beispiel: [1,3,0,4,2] → 0 ist das Minimum
Ersetzen Sie ganz links durch 0, und 0 schließt den Vorgang ab.
[1,3,0,4,2]→[0,3,1,4,2]
-Nächste ist die zweite von links, dann die dritte ... und so weiter, und wiederholen Sie die Schritte 2 und 3-
[1,3,0,4,2] [0,3,1,4,2] [0,1,3,4,2] [0,1,2,4,3] [0,1,2,3,4]
Es scheint, dass der Prozess von ... selektives Sortieren genannt wird.
select_sort.py
import random
#Geben Sie die Anzahl der vorbereitenden Werte ein
numbers = 10
#Erstellen Sie eine Liste zum Speichern der überprüften Werte
pop_list = []
#Zufallszahlen erstellen
num_list = list(range(numbers))
random.shuffle(num_list)
def _select_min(num_list, pos):
_min = None
_left = num_list[pos]
_pos = 0
for i in range(pos, len(num_list)):
if _min == None or _min > num_list[i]:
_min = num_list[i]
_pos = i
num_list[pos] = _min
num_list[_pos] = _left
return(num_list)
#Hauptverarbeitung
print("START : ",num_list)
for i in range(len(num_list)):
num_list = _select_min(num_list, i)
print("GOAL : ",num_list)
Recommended Posts