[PYTHON] Tri rapide 2 | Facile avec la notation d'inclusion de liste

Les atouts de Python

Tri rapide par notation d'inclusion de liste

quickSortSimple.py


data = [26,13,32,65,76,22,43,87,14,59]

def QuickSort(data):
    if len(data) <= 1: #Pas besoin de trier s'il n'y a qu'une seule donnée
        return data

    #Utilisez la première valeur de la liste comme données de référence (pivot)
    pivot = data[0]
    #Créer une liste avec des données au-dessus du pivot
    left = [ii for ii in data[1:] if ii >= pivot]
    #Liste avec moins de données pivot
    right = [ii for ii in data[1:] if ii < pivot]

    left  = QuickSort(left)  #Trier à gauche
    right = QuickSort(right) #Trier à droite
    #Renvoyer les données triées et pivoter ensemble
    return left + [pivot] + right

print(QuickSort(data))

#résultat
# [87, 76, 65, 59, 43, 32, 26, 22, 14, 13]

Cette fois, la valeur en haut de la liste est utilisée comme pivot, mais il existe diverses options telles que la première valeur, la dernière valeur et la valeur médiane des trois valeurs correctement sélectionnées, et il est rapide de sélectionner une bonne valeur. Cela semble être la clé de.

・ Autres articles sur le tri

Tri rapide | Commande la plus importante [Tri de fusion | Tri par ordre décroissant] (https://qiita.com/ProOJI/items/c34441886a9d60fc9664) [Tri sélectif | Mémorandum] (https://qiita.com/ProOJI/items/a7fc63c943f51a4e2e92)

Recommended Posts

Tri rapide 2 | Facile avec la notation d'inclusion de liste
Notation d'inclusion de liste
Python> Compréhension / Notation inclusive> Compréhension de liste
Remarque: Notation d'inclusion de liste
Exercice Python 2 - Notation d'inclusion de liste
Vitesse de notation d'inclusion de liste en Python
Notation inclusive, pas seulement une liste
Jugement du if par la notation d'inclusion de liste
Tri rapide
Notation inclusive de Python (à propos de l'expression de liste et de générateur) [supplémentaire]