Analyse de la Complexité Temporelle

📑 5 slides 👁 19 views 📅 9/14/2026
0.0 (0 ratings)

Introduction à la Complexité

La complexité temporelle mesure l'efficacité d'un algorithme en fonction de la taille des données.

Introduction à la Complexité
2

Notations Asymptotiques

  • O(n) décrit une croissance linéaire, comme dans les boucles simples.
  • Θ(n log n) est typique des algorithmes diviser-pour-régner comme le tri fusion.
  • Ω(n^2) indique une complexité quadratique, fréquente dans les boucles imbriquées.
Notations Asymptotiques
3

Analyse des Boucles

  • Une boucle simple de 1 à n a une complexité O(n).
  • Les boucles imbriquées peuvent atteindre O(n^2) ou O(n^3).
  • Les boucles avec division/multiplication ont une complexité logarithmique O(log n).
Analyse des Boucles
4

Algorithmes Récursifs

  • La récursivité introduit des équations de récurrence comme T(n) = aT(n/b) + f(n).
  • Le théorème maître simplifie l'analyse des algorithmes diviser-pour-régner.
  • Exemple : Fibonacci naïf a une complexité exponentielle Θ(φ^n).
Algorithmes Récursifs
5

Résumé et Applications

  • La complexité guide le choix d'algorithmes pour des données volumineuses.
  • Les classes communes vont de O(1) à O(n!) avec des implications pratiques.
  • L'analyse permet d'optimiser les performances et les ressources.
Résumé et Applications
1 / 5