Heim > Backend-Entwicklung > Python-Tutorial > Zusammenfassung der Implementierungsmethoden von Sortieralgorithmen in Python (Code)

Zusammenfassung der Implementierungsmethoden von Sortieralgorithmen in Python (Code)

不言
Freigeben: 2018-09-27 14:48:00
Original
1879 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Zusammenfassung (Code) der Implementierungsmethode des Sortieralgorithmus. Ich hoffe, dass er für Freunde hilfreich ist.

1. Einfügungssortierung: Die grundlegende Operation der Einfügungssortierung besteht darin, Daten in die sortierten geordneten Daten einzufügen, um neue geordnete Daten mit der Zahl plus eins zu erhalten Sortieren einer kleinen Datenmenge; behandeln Sie zuerst die erste als bereits sortiert, nehmen Sie dann die letzte heraus und fügen Sie sie jedes Mal vorne ein und sortieren Sie sie. 2. Blasensortierung: wiederholt besucht die zu sortierenden Elemente. Eine Sequenz, die zwei Elemente gleichzeitig vergleicht und sie vertauscht, wenn sie in der falschen Reihenfolge sind. Der Besuch des Arrays wird wiederholt, bis kein Austausch mehr erforderlich ist, was bedeutet, dass das Array sortiert wurde

def insert_sort(ilist):
    for i in range(len(ilist)):
        for j in range(i):
            if ilist[i] < ilist[j]:
                ilist.insert(j, ilist.pop(i))
                break
    return ilist
 
ilist = insert_sort([4,5,6,7,3,2,6,9,8])
print ilist
Nach dem Login kopieren

3. Schnelle Sortierung: Die zu sortierenden Daten werden durch einen Sortierdurchgang in zwei unabhängige Teile aufgeteilt , wo Alle Daten in einem Teil kleiner sind als alle Daten im anderen Teil, und dann diese Methode verwenden, um die beiden Teile der Daten schnell zu sortieren. Der gesamte Sortiervorgang kann rekursiv durchgeführt werden, sodass die gesamten Daten werden eine geordnete Sequenz

def bubble_sort(blist):
    count = len(blist)
    for i in range(0, count):
        for j in range(i + 1, count):
            if blist[i] > blist[j]:
                blist[i], blist[j] = blist[j], blist[i]
    return blist
 
blist = bubble_sort([4,5,6,7,3,2,6,9,8])
print blist
Nach dem Login kopieren

4. Auswahlsortierung: Wählen Sie im ersten Durchgang den kleinsten Datensatz unter den zu sortierenden Datensätzen r1 ~ r[n] aus und tauschen Sie ihn im zweiten Durchgang aus Zu sortierende Datensätze r2 ~ Wählen Sie den kleinsten Datensatz aus r[n] aus und tauschen Sie ihn gegen r2 aus. Der i-te Durchgang erfasst r[i], die sortiert werden sollen ~ Wählen Sie den kleinsten Datensatz aus r[n] aus und tauschen Sie ihn gegen r[i] aus, sodass die geordnete Sequenz weiter wächst, bis die gesamte Sortierung abgeschlossen ist

def quick_sort(qlist):
    if qlist == []:
        return []
    else:
        qfirst = qlist[0]
        qless = quick_sort([l for l in qlist[1:] if l < qfirst])
        qmore = quick_sort([m for m in qlist[1:] if m >= qfirst])
        return qless + [qfirst] + qmore
 
qlist = quick_sort([4,5,6,7,3,2,6,9,8])
print qlist
Nach dem Login kopieren

5. Binäre Suche: Suche hauptsächlich durch Division durch 2;

def select_sort(slist):
    for i in range(len(slist)):
        x = i
        for j in range(i, len(slist)):
            if slist[j] < slist[x]:
                x = j
        slist[i], slist[x] = slist[x], slist[i]
    return slist
 
slist = select_sort([4,5,6,7,3,2,6,9,8])
print slist
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonZusammenfassung der Implementierungsmethoden von Sortieralgorithmen in Python (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage