Maison >développement back-end >Tutoriel Python >Comment implémenter un tri rapide à l'aide de Python

Comment implémenter un tri rapide à l'aide de Python

小老鼠
小老鼠original
2023-12-18 15:37:531089parcourir

Comment implémenter le tri rapide en Python : 1. Définissez une fonction appelée quick_sort et utilisez la méthode récursive pour implémenter le tri rapide ; 2. Vérifiez la longueur du tableau, si la longueur est inférieure ou égale à 1, renvoyez le tableau directement. , sinon, sélectionnez Le premier élément du tableau est utilisé comme élément pivot (pivot), puis le tableau est divisé en deux sous-tableaux plus petits que l'élément pivot et plus grands que l'élément pivot 3. Connectez les deux sous-tableaux ; tableaux et l'élément pivot pour former un tableau trié.

Comment implémenter un tri rapide à l'aide de Python

Le système d'exploitation de ce tutoriel : système Windows 10, Python version 3.11.4, ordinateur Dell G3.

Voici comment implémenter le tri rapide à l'aide de Python :

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    else:
        pivot = arr[0]
        less_than_pivot = [x for x in arr[1:] if x <= pivot]
        greater_than_pivot = [x for x in arr[1:] if x > pivot]
        return quick_sort(less_than_pivot) + [pivot] + quick_sort(greater_than_pivot)
# 示例
arr = [3, 6, 8, 10, 1, 2, 1]
sorted_arr = quick_sort(arr)
print(sorted_arr)

Dans cet exemple, nous définissons une fonction appelée quick_sort, qui utilise une méthode récursive pour implémenter le tri rapide. La fonction vérifie d'abord la longueur du tableau, et si la longueur est inférieure ou égale à 1, elle renvoie directement le tableau. Sinon, nous sélectionnons le premier élément du tableau comme élément pivot, puis divisons le tableau en deux sous-tableaux plus petits que l'élément pivot et plus grands que l'élément pivot. Enfin, nous concaténons les deux sous-tableaux et l'élément pivot pour former un tableau trié.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn