[GO] Grundlegende Sortierung in Python

Ich habe eine grundlegende Sorte für das Studium von Python und Algorithmen geschrieben. Ich werde weitere hinzufügen, wenn ich Lust dazu habe.

Auswahl sortieren

def sSort(a):
    for i in range(len(a)-1):
        mi = a[i:].index(min(a[i:]))
        a[i], a[i+mi] = a[i+mi], a[i]
    
    return a

Blasensorte

def bSort(a):
    for i in range(len(a)):
        for j in range(len(a)-1, i, -1):
            if a[j] < a[j-1]:
                a[j], a[j-1] = a[j-1], a[j]
            
    return a

Sortieren durch Einfügen

def iSort(a):
    for i in range(1, len(a)):
        for j in range(i, 0, -1):
            if a[j] >= a[j-1]:
                break
            else:
                a[j], a[j-1] = a[j-1], a[j]
    
    return a

Schnelle Sorte

def qSort(a):
    if len(a) in (0, 1):
        return a
    
    p = a[-1]
    l = [x for x in a[:-1] if x <= p]
    r = [x for x in a[:-1] if x >  p]

    return qSort(l) + [p] + qSort(r)

Zusammenführen, sortieren

def merge(l, r):
    n = len(l + r) #Größe des Arrays nach dem Zusammenführen
    s = max(l + r) + 1 #Bewachen

    l.append(s)
    r.append(s)

    a = []
    while len(a) < n:
        a.append(l.pop(0)) if l[0] <= r[0] else a.append(r.pop(0))
    
    return a

def mSort(a):
    if len(a) == 1:
        return a

    mid = len(a) // 2
    l = mSort(a[:mid])
    r = mSort(a[mid:])
    
    return merge(l, r)

Recommended Posts

Grundlegende Sortierung in Python
Mit Python erlerntes Refactoring (Basic)
Techniken zum Sortieren in Python
Sortieralgorithmus und Implementierung in Python
Scraping mit Selen in Python (Basic)
[Python] Grundkenntnisse in AtCoder
Implementierung der ursprünglichen Sortierung in Python
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
SendKeys in Python
Metaanalyse in Python
Unittest in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
Quicksort in Python
nCr in Python
Python-Grundschrift
N-Gramm in Python
Programmieren mit Python
Plink in Python
Konstante in Python
FizzBuzz in Python
SQLite in Python
Schritt AIC in Python
Grundlegende Grammatik von Python3
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
RF Python Basic_02
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python
Reflexion in Python
Chemie mit Python
Hashbar in Python
DirectLiNGAM in Python
LiNGAM in Python
In Python reduzieren
In Python flach drücken
Sortierte Liste in Python
Täglicher AtCoder # 36 mit Python
Clustertext in Python
AtCoder # 2 jeden Tag mit Python
Täglicher AtCoder # 32 in Python
Täglicher AtCoder # 6 in Python
Täglicher AtCoder # 18 in Python