• Contact

Complexité algorithmique

  • Mise à jour le 2 avril 2026
  • 1 min. à lire

La complexité algorithmique est une mesure qui évalue l'efficacité d'un algorithme en termes de ressources utilisées, principalement le temps d'exécution et l'espace mémoire. Elle permet de quantifier comment les besoins en ressources d'un algorithme évoluent en fonction de la taille des données d'entrée.

En programmation, on utilise souvent la notation Big O pour exprimer la complexité algorithmique. Par exemple, un algorithme avec une complexité O(n) signifie que son temps d'exécution augmente linéairement avec la taille des données d'entrée.

Voici quelques exemples courants de complexités algorithmiques :

  • O(1) : complexité constante (accès à un élément dans un tableau)
  • O(log n) : complexité logarithmique (recherche binaire)
  • O(n) : complexité linéaire (parcours d'un tableau)
  • O(n log n) : complexité quasi-linéaire (tri fusion)
  • O(n²) : complexité quadratique (tri à bulles)
# Exemple d'algorithme avec une complexité O(n)
def recherche_lineaire(liste, element):
    for i in range(len(liste)):
        if liste[i] == element:
            return i
    return -1

L'analyse de la complexité algorithmique aide les développeurs à choisir les algorithmes les plus adaptés à leurs besoins, en tenant compte des contraintes de performance et de ressources. Elle joue un rôle clé dans l'optimisation des programmes et la conception de solutions efficaces pour des problèmes complexes.

Article associé

Software Article
Notations Grand O (Big O) : Performance et complexité temporelle des algorithmes

Découvrez en détail la notation Grand O (a.k.a Big O) et explorez les subtilités de la performance et de la complexité temporelle en algorithmique à travers des exemples concrets en Python. Maîtrisez l'art de concevoir des algorithmes performants.

Nicolas Verlhiac
Nicolas Verlhiac
  • 11 min à lire
tracking-thumb