💻 Programmation · Fondamentaux
Complexité algorithmique (Big O)
La notation Big O décrit comment le temps (ou la mémoire) d'un algorithme grandit avec la taille n des données, en ignorant les constantes.
O(1) constant accès par index
O(log n) logarithmique recherche dichotomique
O(n) linéaire parcourir une liste
O(n log n) quasi-linéaire tri efficace
O(n²) quadratique deux boucles imbriquées
O(2ⁿ) exponentielle tester tous les sous-ensemblesComment le lire
Si les données doublent : O(n) double le temps, O(n²) le quadruple, O(log n) ajoute une seule étape.
Exemple concret
Chercher un nom dans une liste non triée d'un million d'éléments : jusqu'à 1 000 000 de comparaisons (O(n)). Dans une liste triée, la recherche dichotomique en demande environ 20 (log₂ de 1 000 000).
Pourquoi c'est important
Un algorithme en O(n²) passe sans problème sur 100 éléments et devient inutilisable sur 1 000 000.
Pire cas
Big O décrit en général le pire cas (le comportement quand n devient grand). Il existe aussi une complexité en mémoire.
Une boucle ≈ n. Deux boucles imbriquées ≈ n². On divise par 2 à chaque étape ≈ log n.
Teste-toi
Quelle est la complexité d'une recherche dichotomique dans une liste triée ?
- O(1)
- O(log n)
- O(n)
- O(n²)
Réponse : B. O(log n)
On divise la zone de recherche par deux à chaque étape : environ 20 étapes pour un million d'éléments.
Plus de questions dans Discord avec /qcm matiere:dev.
Pour aller plus loin
Fiche mise à jour le 6 novembre 2026. Une erreur, une précision à proposer ? Écris-nous.