[GO] Implementierung der schnellen Sortierung in Python

Code, der eine Liste von 100 Ganzzahlen mit Zufallszahlen generiert und eine schnelle Sortierung durchführt. Ich habe es mit einer einfachen schnellen Sortierung implementiert, die keine Partition verwendet.

Schließlich wird ein Code zum Messen der Ausführungszeit angehängt.

quick_sort.py


from typing import List
import random
import time

def quick_sort(numbers: List[int]) -> List[int]:
    
    numbers_set = set(numbers)

    if len(numbers_set) <= 1:
        return numbers

    p1 = numbers[0]
    p2 = 0
    for i in range(len(numbers)):
        if numbers[i] != p1:
            p2 = numbers[i]
            break
    

    pivot = p1 if p1 > p2 else p2

    left_list = []
    right_list = []

    for i in range(len(numbers)):
        if numbers[i] < pivot:
            left_list.append(numbers[i])
        else:
            right_list.append(numbers[i])

    return quick_sort(left_list) + quick_sort(right_list)



if __name__ == "__main__":
    nums = [random.randint(0,100) for _ in range(100)]
    start = time.time()
    quick_sort(nums)
    elapsed_time = time.time() - start
    print ("elapsed_time:{0}".format(elapsed_time) + "[sec]")   

Recommended Posts

Implementierung der schnellen Sortierung in Python
Quicksort in Python
Implementierung eines Lebensspiels in Python
Implementierung der ursprünglichen Sortierung in Python
RNN-Implementierung in Python
ValueObject-Implementierung in Python
SVM-Implementierung in Python
Erläuterung der Bearbeitungsentfernung und Implementierung in Python
Sortieren Sie schnell ein Array in Python 3
Python-Implementierung des Partikelfilters
Implementierung eines neuronalen Netzwerks in Python
Implementierung der Bayes'schen Varianzschätzung des Themenmodells in Python
Ein Memorandum über die Umsetzung von Empfehlungen in Python
Bildpixel-Manipulation in Python
Sortieralgorithmus und Implementierung in Python
Implementierung der HMM-Parameterschätzung in Python
Python-Implementierung eines selbstorganisierenden Partikelfilters
Implementierung einer gemischten Normalverteilung in Python
Implementierung der Login-Funktion in Django
Zeitdelta in Python 2.7-Serie teilen
MySQL-automatische Escape-Funktion von Parametern in Python
Umgang mit JSON-Dateien in Python
Audio-Wellenform-Anzeige in Python
Implementierung von Desktop-Benachrichtigungen mit Python
Python-Implementierung eines nicht rekursiven Segmentbaums
Implementierung von Light CNN (Python Keras)
Das Gesetz der Zahlen in Python
Implementierung der Dyxtra-Methode durch Python
Reversibles Verwürfeln von Ganzzahlen in Python
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Konvertierung der Zeichenfolge <-> Datum (Datum, Datum / Uhrzeit) in Python
Geokodierung in Python
SendKeys in Python
Überprüfen Sie das Verhalten des Zerstörers in Python
Übung, dies in Python zu verwenden (schlecht)
Metaanalyse in Python
Unittest in Python
Ausgabebaumstruktur von Dateien in Python
Zeigen Sie eine Liste der Alphabete in Python 3 an
Warteschlangen- und Python-Implementierungsmodul "deque"
Vergleich japanischer Konvertierungsmodule in Python3
Es ist eine Implementierung von ConnectionPool in redis.py
Zusammenfassung verschiedener for-Anweisungen in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
nCr in Python
N-Gramm in Python
Python-Grundlagen ①
Das Ergebnis der Installation von Python auf Anaconda
Grundlagen von Python ①
Programmieren mit Python
Plink in Python
Konstante in Python
Kopie von Python
Grundlagen zum Ausführen von NoxPlayer in Python