In diesem Artikel möchte ich ein Beispiel für die Implementierung in Python 3 über den Algorithmus vorstellen, den ich durch Lesen von "Algorithm Picture Book" gelernt habe. Der Algorithmus ist diesmal die selektive Sortierung. Der Schriftsteller ist ein Amateur. Ich würde mich freuen, wenn Sie mir verschiedene Dinge erzählen könnten.
Ich bin nicht mit Python2 vertraut, aber ich weiß nur, dass ich Python3 verwende (Ist es Python3.6.0?). Daher lautet der Titel des Artikels Python3.
Ich werde die Problemstellung und den Ansatz nur kurz erläutern.
Gibt die Spalten in aufsteigender Reihenfolge für eine bestimmte Anzahl von Spalten zurück. Beispiel: 4, 3, 1, 2 → 1, 2, 3, 4
Bestimmen Sie die Werte in der Reihenfolge von Anfang an. Finden Sie den Mindestwert aus der unbestimmten Zahl und bringen Sie ihn durch Tauschen nach vorne (erste Seite). Weitere Informationen finden Sie im "Algorithm Picture Book".
Beispiel: Notation fester Zahlen in [] 4, 3, 1, 2 → [1], 3, 4, 2 → [1], [2], 4, 3 → [1], [2], [3], 4
Der implementierte Code wird unten gezeigt. Die Liste, die anfänglich den variablen Daten zugewiesen wird, ist die zu verarbeitende Zahlenspalte. Außerdem habe ich es implementiert, ohne min in der Liste zu verwenden.
selection_sort.py
data = [4, 3, 1, 2]
print("input :" + str(data))
data_len = len(data)
for k in range(0, data_len - 1):
min_index = k
min_data = data[k]
for i in range(k + 1, data_len):
if data[i] < min_data:
min_index = i
min_data = data[i]
else:
pass
data[min_index] = data[k]
data[k] = min_data
print("output :" + str(data))
python
$ python selection_sort.py
input :[4, 3, 1, 2]
output :[1, 2, 3, 4]
Ich habe es zum ersten Mal veröffentlicht, um den von mir geschriebenen Code zu veröffentlichen. Wenn Sie Fragen haben, weisen Sie bitte darauf hin und stellen Sie Fragen. Besonders wenn es Verbesserungen beim Schreiben des Codes gibt, denke ich, dass es für das Lernen nützlich sein wird.
Recommended Posts