Implementierte den Algorithmus von "Algorithm Picture Book" in Python3 (Selective Sort)

Über diesen Artikel

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.

Über selektives Sortieren

Ich werde die Problemstellung und den Ansatz nur kurz erläutern.

Problem

Gibt die Spalten in aufsteigender Reihenfolge für eine bestimmte Anzahl von Spalten zurück. Beispiel:  4, 3, 1, 2 → 1, 2, 3, 4

Ansatz

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

Implementierungscode und Ausführungsergebnis

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.

Code

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))

Ausführungsergebnis

python


$ python selection_sort.py 
input    :[4, 3, 1, 2]
output   :[1, 2, 3, 4]

Am Ende

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

Implementierte den Algorithmus von "Algorithm Picture Book" in Python3 (Selective Sort)
Implementierte den Algorithmus von "Algorithm Picture Book" in Python3 (Bubble Sort)
[Python] Sortieren Sie die Liste von pathlib.Path in natürlicher Reihenfolge
In Python sortieren. Lassen Sie uns als nächstes über den Algorithmus nachdenken.
Bilderbuch-Datenstrukturalgorithmus Python
Überprüfen Sie das Verhalten des Zerstörers in Python
Ali Buch in Python: Sec.2-5 Dyxtra-Methode
Das Ergebnis der Installation von Python auf Anaconda
Grundlagen zum Ausführen von NoxPlayer in Python
Auf der Suche nach dem schnellsten FizzBuzz in Python
Was für ein Buch ist der meistverkaufte "Python Crash Course" der Welt?
Geben Sie die Anzahl der CPU-Kerne in Python aus
Holen Sie sich den Aufrufer einer Funktion in Python
Passen Sie die Verteilung jeder Gruppe in Python an
Zeigen Sie das Ergebnis der Geometrieverarbeitung in Python an
Kopieren Sie die Liste in Python
Finden Sie die Lösung der Gleichung n-ter Ordnung mit Python
Die Geschichte des Lesens von HSPICE-Daten in Python
[Hinweis] Über die Rolle des Unterstrichs "_" in Python
Lösen von Bewegungsgleichungen in Python (odeint)
Ausgabe in Form eines Python-Arrays
Ich habe versucht, die inverse Gammafunktion in Python zu implementieren
Ich habe versucht, eine selektive Sortierung in Python zu implementieren
[Basic Information Engineer Examination] Ich habe den Algorithmus der euklidischen Methode der gegenseitigen Teilung in Python geschrieben.
Blasensortierung in Python
SimRank in Python implementiert
Genetischer Algorithmus in Python
Algorithmus in Python (Bellman-Ford-Methode, Bellman-Ford)
Benutzerdefinierte Sortierung in Python3
Shiritori in Python implementiert
Algorithmus in Python (Dijkstra)
Erleben Sie die gute Berechnungseffizienz der Vektorisierung in Python
Grundlegende Informationen Schreiben Sie das Problem mit dem Herbst 2018-Algorithmus in Python
[Python] Ruft die Liste der im Modul definierten Klassen ab
Ruby, Python-Codefragment Ausführung der Auswahl in Emacs
Die Geschichte von FileNotFound im Python open () -Modus = 'w'
Implementieren Sie die Lösung der Riccati-Algebra in Python
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
Den Inhalt der Daten in Python nicht kennen
Reproduzieren Sie das Ausführungsbeispiel von Kapitel 4 von Hajipata in Python
Verwenden wir die offenen Daten von "Mamebus" in Python
[Python] Gibt alle Kombinationen von Elementen in der Liste aus
Rufen Sie die URL des HTTP-Umleitungsziels in Python ab
Ein Memorandum über die Umsetzung von Empfehlungen in Python
Reproduzieren Sie das Ausführungsbeispiel von Kapitel 5 von Hajipata in Python
Um das Äquivalent von Rubys ObjectSpace._id2ref in Python zu tun
Überprüfen Sie die atrophische Natur der Wahrscheinlichkeitsverteilung in Python
Sortieren Sie die Liste der Tupel in Python, indem Sie die aufsteigende / absteigende Reihenfolge mehrerer Schlüssel angeben
Versuchen Sie, COVID-19 Tokyo-Daten mit Python zu kratzen
Finden Sie die scheinbare Breite einer Zeichenfolge in Python heraus
Auf dem Weg zum Ruhestand von Python2
Lassen Sie uns das Ausführungsergebnis des Programms mit C ++, Java, Python messen.
Überprüfen Sie die Funktionsweise von Python für .NET in jeder Umgebung
[Memo] Das Geheimnis kumulativer Zuweisungsanweisungen in Python-Funktionen
Finde Fehler in Python
Algorithmus in Python (Haupturteil)
Sortieren Sie den Pfad natürlich in Python
Das Ergebnis des maschinellen Lernens von Java-Ingenieuren mit Python www