Exécution Quick Sort Algorithm in Python

Résolu
ramsay21 Messages postés 6 Date d'inscription vendredi 3 mars 2023 Statut Membre Dernière intervention 29 février 2024 - 18 juil. 2023 à 14:21
Whismeril Messages postés 19040 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 9 mai 2024 - 18 juil. 2023 à 16:30

Bonjour,

e travaille actuellement sur l'implémentation de l'algorithme Quick Sort en Python, mais je rencontre des problèmes avec mon code. J'ai essayé de suivre l'implémentation standard, mais cela semble produire des résultats incorrects. Quelqu'un peut-il revoir mon code et m'aider à identifier le problème ?
voici le code:
def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    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)

# Exemple d'utilisation:
my_array = [8, 4, 2, 9, 5, 1, 6]
sorted_array = quick_sort(my_array)
print(sorted_array)

​​​​​​Je m'attendais à ce que le code trie le tableau par ordre croissant à l'aide de l'algorithme de tri rapide. Cependant, la sortie que j'obtiens est incorrecte. J'ai lu quelques articles sur l'algorithme Quicksort sur le scaler, mais je n'arrive toujours pas à comprendre où je me trompe. J'apprécierais toute idée ou suggestion sur ce qui pourrait causer le problème et comment le résoudre. Merci.
Remarque : Veuillez fournir des explications ou des suggestions basées sur le code pour m'aider à comprendre et à déboguer efficacement le problème.

2 réponses

Whismeril Messages postés 19040 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 9 mai 2024 656
18 juil. 2023 à 16:30

Cela dit, quand j'essaye ça me parait cohérent comme résultat 


1
Whismeril Messages postés 19040 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 9 mai 2024 656
18 juil. 2023 à 15:58

Bonjour 

tu devrais faire un print du pivot, de lessthanpivot et greaterthanpivot pour voir ce qui se passe


0
Rejoignez-nous