📘 Fiche de cours
L'essentiel du cours
Les algorithmes de tri permettent d'ordonner une liste d'éléments. La complexité est mesurée par le nombre d'opérations élémentaires (comparaisons/échanges).
- Tri élémentaires ($O(n^2)$) : Sélection, Insertion, Bulles.
- Tri efficaces ($O(n \log n)$) : Tri Fusion (Divide & Conquer), Tri Rapide (Partition).
- Recherche : Séquentielle ($O(n)$) vs Dichotomique ($O(\log n)$ sur tableau trié).
Méthodes à maîtriser
- Analyse de complexité : Compter les boucles imbriquées pour déterminer $O(f(n))$.
- Exécution manuelle : Savoir tracer les étapes d'un tri (ex: état du tableau après chaque itération).
- Choix de l'algorithme : Utiliser la dichotomie uniquement si le tableau est trié.
Exemples corrigés
- Tri par insertion : Pour insérer $T[i]$, on décale les éléments $T[j] > T[i]$ vers la droite.
- Recherche dichotomique : $mil = (g + d) // 2$. Si $T[mil] < cible$, on cherche à droite ($g = mil + 1$).
Erreurs fréquentes
- Confondre la complexité moyenne et la pire complexité du Tri Rapide ($O(n^2)$ dans le pire cas).
- Oublier que la recherche dichotomique nécessite un tableau préalablement trié.
- Inverser les indices lors de la fusion dans le Tri Fusion.