[GO] Implémentation du tri rapide en Python

Code qui génère une liste de 100 entiers avec des nombres aléatoires et effectue un tri rapide. Je l'ai implémenté avec un tri simple et rapide qui n'utilise pas de partition.

Enfin, un code pour mesurer le temps d'exécution est joint.

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

Implémentation du tri rapide en Python
tri rapide en python
Implémentation du jeu de vie en Python
Implémentation du tri original en Python
Implémentation RNN en python
Implémentation ValueObject en Python
Implémentation SVM en python
Explication de la distance d'édition et de l'implémentation en Python
Tri rapide d'un tableau en Python 3
Implémentation Python du filtre à particules
Implémentation de réseau neuronal en python
Implémentation d'estimation bayésienne de variante du modèle de sujet en python
Un mémorandum sur la mise en œuvre des recommandations en Python
Manipulation des pixels d'image en Python
Algorithme de tri et implémentation en Python
Implémentation de l'estimation des paramètres HMM en python
Implémentation Python du filtre à particules auto-organisateur
Implémentation de distribution normale mixte en python
Implémentation de la fonction de connexion dans Django
Diviser timedelta dans la série Python 2.7
Échappement automatique des paramètres MySQL en python
Gestion des fichiers JSON en Python
Affichage de la forme d'onde audio en Python
Implémentation des notifications de bureau à l'aide de Python
Implémentation Python de l'arborescence de segments non récursive
Implémentation de Light CNN (Python Keras)
La loi des nombres en python
Implémentation de la méthode Dyxtra par python
Brouillage réversible d'entiers en Python
Quadtree en Python --2
Python en optimisation
CURL en Python
Conversion de la chaîne <-> date (date, datetime) en Python
Géocodage en python
SendKeys en Python
Vérifiez le comportement du destroyer en Python
Pratique d'utilisation de ceci en Python (mauvais)
Méta-analyse en Python
Unittest en Python
Arborescence de sortie des fichiers en Python
Afficher une liste d'alphabets en Python 3
Module d'implémentation de file d'attente et Python "deque"
Comparaison des modules de conversion japonais en Python3
C'est une implémentation de ConnectionPool dans redis.py
Résumé de diverses instructions for en Python
Époque en Python
Discord en Python
Allemand en Python
DCI en Python
nCr en python
N-Gram en Python
Les bases de Python ①
Le résultat de l'installation de python sur Anaconda
Bases de python ①
Programmation avec Python
Plink en Python
Constante en Python
Copie de python
Principes de base pour exécuter NoxPlayer en Python