Comment optimiser un algorithme de tri en Python ?

Python, JavaScript, C, PHP, algorithmes, IDE
la_manon31
Messages : 358
Inscription : jeu. sept. 28, 2023 7:24 pm

Comment optimiser un algorithme de tri en Python ?

Message par la_manon31 »

Salut à tous, j’ai un algorithme de tri qui fonctionne mais il est très lent sur de gros datasets. Est-ce que vous avez des conseils pour l’optimiser ? J’utilise actuellement un tri à bulles.
Le cloud c'est l'ordi de quelqu'un d'autre
admin_sys_gaming
Messages : 571
Inscription : sam. janv. 20, 2024 7:24 pm

Re: Comment optimiser un algorithme de tri en Python ?

Message par admin_sys_gaming »

Le tri à bulles est vraiment pas optimal pour de grandes quantités de données. Tu devrais envisager un tri fusion ou un tri rapide (quick sort). Ces algorithmes ont une complexité en O(n log n) au lieu de O(n²).
max1965
Messages : 247
Inscription : mer. mai 08, 2024 7:24 pm

Re: Comment optimiser un algorithme de tri en Python ?

Message par max1965 »

Je confirme pour le tri rapide. J’ai utilisé `sorted()` en Python, qui utilise Timsort, et ça marche très bien même avec des millions de données. C’est beaucoup plus efficace.
Full AMD, full silence
la_manon31
Messages : 358
Inscription : jeu. sept. 28, 2023 7:24 pm

Re: Comment optimiser un algorithme de tri en Python ?

Message par la_manon31 »

Merci pour les conseils ! Je vais essayer Timsort. Est-ce que vous avez des retours sur l’utilisation des générateurs pour optimiser la mémoire ?
Le cloud c'est l'ordi de quelqu'un d'autre
devjunkie1968
Messages : 242
Inscription : dim. mai 19, 2024 7:24 pm

Re: Comment optimiser un algorithme de tri en Python ?

Message par devjunkie1968 »

Les générateurs peuvent aider si tu travailles avec des flux de données immenses, car ils te permettent de traiter les éléments un par un sans tout charger en mémoire. Mais attention, ça peut ralentir un peu l’accès aux données.
Répondre