Légende de la leçon
Vert : définitions
Introduction
Le tri est une opération fondamentale en informatique, utilisée pour organiser les données de manière systématique. Plusieurs algorithmes de tri existent, chacun ayant ses propres avantages et inconvénients selon le contexte d'utilisation.
I. Méthodes de tri communes
1) Tri à bulles (Bubble Sort)
- Principe : Compare des paires adjacentes et échange leur position si elles sont dans le mauvais ordre. Répète le processus jusqu'à ce que le tableau soit trié.
- Complexité : O(n2) en moyenne et dans le pire des cas. O(n) dans le meilleur des cas.
- Utilisation : Peu efficace pour les grands ensembles de données. Simple à comprendre et à implémenter.
2) Tri par insertion (Insertion Sort)
- Principe : Construit un tableau et trie un élément à la fois, en insérant chaque nouvel élément à sa position appropriée.
- Complexité : O(n2) en moyenne et dans le pire des cas. O(n) dans le meilleur des cas.
- Utilisation : Efficace pour les petits ensembles de données ou les ensembles presque triés.
3) Tri par sélection (Selection Sort)
- Principe : Sélectionne le plus petit élément du tableau, puis l'échange avec le premier élément. Répète le processus pour le reste du tableau.
- Complexité : Toujours O(n2), indépendamment de l'ordre initial des données.
- Utilisation : Peu efficace en général, mais simple et avec une performance prévisible.
4) Tri rapide (Quick Sort)
- Principe : Sélectionne un élément « pivot », partitionne le tableau en éléments plus petits et plus grands que le pivot, puis trie récursivement les deux sous-tableaux.
- Complexité : O(n log n) en moyenne, O(n2) dans le pire des cas.
- Utilisation : Très efficace pour de grands ensembles de données. Performances médiocres dans le pire des cas.
5) Tri par fusion (Merge Sort)
- Principe : Divise récursivement le tableau en deux moitiés, trie chaque moitié, puis fusionne les deux moitiés triées.
- Complexité : Toujours O(n log n).
- Utilisation : Efficace et stable, mais nécessite un espace mémoire supplémentaire.
II. Critères de comparaison
- Complexité temporelle : Temps nécessaire pour trier les données.
- Complexité spatiale : Espace mémoire requis par l'algorithme.
- Stabilité : Préserve-t-il l'ordre des éléments égaux ?
- Adaptabilité : Efficacité sur des données presque triées.
- Comparaisons et échanges : Nombre de comparaisons et d'échanges effectués.
Je retiens
Complexité : La complexité varie considérablement d'un algorithme à l'autre.
Choix basé sur le contexte : Le choix optimal dépend des spécificités de l'ensemble de données et des contraintes de performance.