← CertifHub
Algorithmes 4 juin 2026 · 7 min · par L’équipe CertifApp

La complexité algorithmique (Big-O) avec des exemples concrets

O(1), O(n), O(log n), O(n²) : ce que ça veut dire vraiment, et comment le reconnaître dans ton code.

La notation Big-O décrit comment le temps (ou la mémoire) d’un algorithme évolue quand la taille des données grandit. C’est un incontournable des certifications et des entretiens.

Lire le Big-O

  • O(1) — constant : le temps ne dépend pas de la taille. Ex. accéder à tab[i].
  • O(log n) — logarithmique : on divise le problème à chaque étape. Ex. recherche dichotomique.
  • O(n) — linéaire : on parcourt une fois. Ex. trouver un max.
  • O(n log n) — les bons tris (merge sort, quicksort moyen).
  • O(n²) — quadratique : deux boucles imbriquées. Ex. comparer toutes les paires.

Le même problème, deux complexités

Chercher un doublon dans une liste. Version naïve, O(n²) :

for (int i = 0; i < n; i++)
    for (int j = i + 1; j < n; j++)
        if (a[i] == a[j]) return true;

Version avec un ensemble de hachage, O(n) :

Set<Integer> vus = new HashSet<>();
for (int x : a) {
    if (!vus.add(x)) return true; // déjà vu
}

On échange du temps contre de la mémoire (O(n) d’espace) — un compromis classique.

L’intuition à garder

Une boucle = O(n). Une boucle dans une boucle = O(n²). Diviser par deux à chaque tour = O(log n). En certif, sache justifier ta complexité, pas seulement la citer. Et rappelle-toi : pour de petites données, le plus simple gagne souvent ; le Big-O compte quand n grandit.

Envie d’aller plus loin avec CertifApp ?

Découvrir CertifApp