Adloun

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 :

AlgorithmeComplexité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

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →