ramsay21
Messages postés6Date d'inscriptionvendredi 3 mars 2023StatutMembreDernière intervention29 février 2024
-
18 juil. 2023 à 14:21
Whismeril
Messages postés19040Date d'inscriptionmardi 11 mars 2003StatutContributeurDerniè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.