Python (école d'ingénieur) · Chapitre 6 · Exercice
Comparaison d'algorithmes de tri
Complexité algorithmique
Énoncé
Comparer asymptotiquement les complexités temporelles des algorithmes de tri suivants :
- Tri à bulles :
- Tri par insertion (pire cas) :
- Tri fusion :
- Tri rapide (cas moyen) :
Pour , estimer le nombre d'opérations et le temps d'exécution théorique de chaque algorithme sur un processeur effectuant opérations par seconde (1 GHz).
Corrigé
Calculons pour :
- Tri à bulles / Tri par insertion : Le nombre d'opérations est de l'ordre de : À une vitesse de opérations par seconde, le temps requis est :
- Tri fusion / Tri rapide (cas moyen) : Puisque , nous obtenons : Le temps d'exécution théorique vaut :
Nous résumons ces valeurs dans le tableau suivant :
| Algorithme | Complexité | Opérations (pour ) | Temps (1 GHz) |
|---|---|---|---|
| Tri à bulles / Insertion | min | ||
| Tri fusion / Rapide (moyen) | ms | ||
| Tri rapide (pire cas) | min |
Ce tableau met en évidence l'écart colossal entre une complexité quadratique et une complexité quasi-linéaire sur de grands volumes de données.
100 % gratuit
La suite du chapitre est sur Adloun
- 7 autres exercices corrigés dans ce chapitre, et 7 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.