Retour au cours

Leçon 8 : Analyse du Temps Quadratique : O(N²)

Algorithmes : De Zéro à Héro (Un Guide pour Débutants)

8. Analyse du Temps Quadratique : O(N²)

Un algorithme s'exécute en Temps Quadratique, O(N²), si le temps d'exécution augmente proportionnellement au carré de la taille de l'entrée (N).

Si l'entrée double (N devient 2N), le temps d'exécution quadruple (N² devient 4N²).

Exemple : Boucles Imbriquées

L'exemple classique de O(N²) est d'avoir deux boucles imbriquées, où la boucle intérieure itère complètement pour chaque itération de la boucle extérieure.

python def print_all_pairs(data): N = len(data) # Outer loop runs N times (O(N)) for i in range(N): # Inner loop runs N times for each outer iteration (O(N)) for j in range(N): print(data[i], data[j]) # Total operations = N * N = N²

Les algorithmes avec une complexité O(N²) (comme le Bubble Sort, que nous verrons plus tard) sont généralement considérés comme lents et inefficaces pour les grands ensembles de données.