Aller au contenu
uencoder

Big O Notation

La notation grand O décrit la borne supérieure asymptotique d'une fonction, utilisée pour analyser la complexité temporelle/spatiale des algorithmes en ignorant les constantes et les termes d'ordre inférieur.

Objectif

Abstraire le taux de croissance asymptotique de l'efficacité d'un algorithme afin de comparer et de choisir des algorithmes.

Mécanisme

f(n)=O(g(n)) signifie qu'il existe des constantes C et n0 telles que |f(n)|≤C|g(n)| pour tout n>n0. Ordres courants : O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(2^n) < O(n!). L'accent est mis sur les bornes supérieures du pire cas.

Cas d’usage

  • Analyse de complexité des algorithmes
  • Choix de structures de données
  • Décisions d'optimisation des performances
  • Entretiens et enseignement

Exemples

  • entrée
    Binary search
    Output
    O(log n)

    Halves each time

Erreurs courantes

Ignoring constant factors misjudges real-world performance
Big O is asymptotic; benchmark for real behavior

Termes associés

References