Ein Memo, das ich in Python zusammengeführt habe

Ich habe mir eine Notiz über das Sortieren von Zusammenführungen geschrieben.

Was ist Zusammenführungssortierung?

Code

marge_sort.py


def merge(A, left, mid, right):
    
    L = []
    for i in range(mid - left):
        L.append(A[left + i])
    L.append(1000)    #Stellen Sie sicher, dass die Nummer größer als die zu sortierende Nummer ist
    
    R = []
    for i in range(right - mid):
        R.append(A[mid + i])
    R.append(1000)    #Stellen Sie sicher, dass die Nummer größer als die zu sortierende Nummer ist
    
    i = j = 0
    for k in range(left, right):
        if L[i] <= R[j]:
            A[k] = L[i]
            i += 1
        else:
            A[k] = R[j]
            j += 1
    
def merge_sort(A, left, right):
    if left+1 < right:
        mid = (left + right) // 2
        merge_sort(A, left, mid)
        merge_sort(A, mid, right)
        merge(A, left, mid, right)
    return A

print(merge_sort([3, 1, 10, 2.5, 11, 3, 21, 4, -1], 0, 9))
# [-1, 1, 2.5, 3, 3, 4, 10, 11, 21]

Dieses Mal können Sie Zahlen unter 1000 in aufsteigender Reihenfolge sortieren Ich habe 1000 entsprechend eingestellt. Wenn Sie es also erhöhen, können Sie noch größere Zahlen sortieren. Ich habe nicht die Gesamtzahl der Anrufe erhalten ...

Referenz

Sortierung in C-Sprache zusammenführen Sortieralgorithmus und Implementierung in Python [Unity] Ich habe versucht, 12 Arten von Sortieralgorithmen zu visualisieren

Recommended Posts

Ein Memo, das ich in Python zusammengeführt habe
Beim Schreiben eines Programms in Python
Ein Memo, dass ich eine Grundfunktion in Python mit Wiederholung geschrieben habe
Ein Memo, das ich schnell in Python geschrieben habe
Blasensortierung in Python
[Python] Memo über Funktionen
[Memo] Python 3-Listensortierung
[Python] Memo Über Fehler
Datenanalyse in Python: Ein Hinweis zu line_profiler
Denken Sie daran, eine Python 3-Umgebung in einer Mac-Umgebung zu erstellen
Benutzerdefinierte Sortierung in Python3
Sortieren Sie Listenelemente in Python in der angegebenen Reihenfolge
Über __all__ in Python
[Python] Manipulation von Elementen in einer Liste (Array) [Sortieren]
In Python sortieren. Lassen Sie uns als nächstes über den Algorithmus nachdenken.
Schreiben Sie über das Erstellen einer Python-Umgebung zum Schreiben von Qiita Qiita
Führen Sie die Sortierimplementierung / Berechnungsmengenanalyse zusammen und experimentieren Sie in Python
Ein Memorandum beim Schreiben von experimentellem Code ~ Anmelden in Python
Ein Memo zum Erstellen einer Django (Python) -Anwendung mit Docker
Ein Memorandum über die Umsetzung von Empfehlungen in Python
Machen Sie einen Screenshot in Python
Erstellen Sie eine Funktion in Python
Sortieren Sie den Pfad natürlich in Python
Absteigende Sorte mit Mongodb in Python
Memorandum über Korrelation [Python]
Erstellen Sie ein Lesezeichen in Python
Ein Memorandum über den Python-Mock
Zeichne ein Herz in Python
Über "für _ in range ():" von Python
Sortieren nach Datum in Python
Über Python sort () und reverse ()
Ein Hinweis zu [Python] __debug__
Eine Geschichte darüber, wie man einen relativen Pfad in Python angibt.
Ein Hinweis beim Erstellen eines gerichteten Diagramms mit Graphviz in Python
So entwickeln Sie in einer virtuellen Python-Umgebung [Memo]
Eine Geschichte über den Versuch, private Variablen in Python zu implementieren.
Wahrscheinlich in einer Nishiki-Schlange (Originaltitel: Vielleicht in Python)
Schreiben Sie eine Dichotomie in Python
[Python] Verwalten Sie Funktionen in einer Liste
Drücken Sie einen Befehl in Python (Windows)
Neu in Python3.9 Wörterbücher zusammenführen
Erstellen Sie einen DI-Container mit Python
Python: Ein Hinweis zu Klasse 1 "Abstract"
Zeichnen Sie eine Streudiagrammmatrix mit Python
Hinweis zu get_scorer von sklearn
ABC166 in Python A ~ C Problem
Über Python und Cython dtype
Schreiben Sie A * (A-Stern) -Algorithmen in Python
Sortieren Sie große Textdateien in Python
Löse ABC036 A ~ C mit Python
Holen Sie sich ein Kommunikationsmemo in Python
Schreiben Sie ein Kreisdiagramm in Python
Schreiben Sie das Vim-Plugin in Python
Schreiben Sie eine Suche mit Tiefenpriorität in Python
Ich habe versucht, den Prozess mit Python zu studieren
[Python] Memo zum Erstellen von Scraping-Tools
Implementierung eines einfachen Algorithmus in Python 2