Analyse de la Complexité Algorithmique
Analyse de la Complexité Algorithmique
té spatiale
Complexité Algorithmique
Filière : MP - PSI
EL BOUNI FATIMA-ZAHRA
elbouni97@[Link]
Classes préparatoires aux grandes écoles
Lycée Omar Ibn Al-Khattab - Meknès
8 septembre 2025
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 1 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
1 Introduction
2 Notion de complexité
6 Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 2 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
1 Introduction
2 Notion de complexité
6 Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 3 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Introduction
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 4 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Introduction
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 4 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Introduction
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 4 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Introduction
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 4 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Problématique
Cette solution n’est pas bien applicable en réalité car on ne sait pas le
comportement de n’importe algorithme quand leurs paramètres d’entrées deviens
assez grands.
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 5 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
1 Introduction
2 Notion de complexité
6 Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 6 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Notion de complexité
Définition
Pour un même problème P, on peut trouver plusieurs algorithmes (Alg1 , Alg2 , ..., Algn ), la
complexité d’un problème mesure la quantité des ressources nécessaires à la résolution
du problème P.
Cette mesure représente une estimation d’opérations de base en fonction de la taille
des données.
Remarques
L’objectif de la complexité consiste à évaluer le coût d’exécution de chaque
algorithme afin de choisir le meilleur ;
Dans un ordinateur, on distingue deux types de ressources : la vitesse d’exécution
du microprocesseur, et le nombre de cases de la mémoire centrale (RAM).
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 7 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Types de complexité
Remarque
Dans ce cours, on s’intéressera le plus souvent à la complexité temporelle.
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 8 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
1Xn
Tmoyenne (n) = C(d)d∈Dn
n
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 9 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Remarque
En analyse de complexité, on étudie souvent le pire des cas ce qui donne une borne
supérieure de la complexité de l’algorithme.
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 10 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
1 Introduction
2 Notion de complexité
6 Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 11 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 12 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Notations de Landau
Soit f (n) une fonction qui désigne le temps de calcul d’un algorithme A.
Notation O
On dit que f (n) est en grand O de g(n) si et seulement si :
Notations de Landau
Notation Ω
On dit que f (n) est en grand Ω de g(n) :
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 14 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Notations de Landau
Notation Θ
On dit que f (n) est en grand Θ de g(n) :
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 15 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
O (n) Linéaire Augmentation linéaire du temps d’exécution Calcul de produit scalaire de deux
quandle paramètre croit. vecteurs de R...
O (nlog(n)) Quasi-linéaire Augmentation un peu supérieure à O (n) Tri rapide, Tri fusion ...
O (n2 ) Quadratique La complexité est liée au carré du nombre d’entrées. Tri sélection,boucles imbriquées...
O (nk ) Polynomiale nk est le terme de plus haut degré d’un polynôme Multiplication de deux matrices car-
en n ; il n’est pas rare de voir des complexités en rées d’ordre n
O (n3 ) ouO(n4 ).
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 16 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 17 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 18 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
1 Introduction
2 Notion de complexité
6 Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 19 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 20 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 21 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Après avoir déterminer les coûts d’exécution des instructions élémentaires et des
instructions composées dans un algorithme on peut trouver la borne asymptotique
(notation O )en appliquant les règles suivantes :
1 Les constantes multiplicatives sont remplacées par 1.
2 Les constante additatives sont annulées.
3 Le terme le plus élevé est conservé.
Exemples
O (3n2 + 8n + 4) :
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 22 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Après avoir déterminer les coûts d’exécution des instructions élémentaires et des
instructions composées dans un algorithme on peut trouver la borne asymptotique
(notation O )en appliquant les règles suivantes :
1 Les constantes multiplicatives sont remplacées par 1.
2 Les constante additatives sont annulées.
3 Le terme le plus élevé est conservé.
Exemples
O (3n2 + 8n + 4) : O (n2 )
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 22 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Après avoir déterminer les coûts d’exécution des instructions élémentaires et des
instructions composées dans un algorithme on peut trouver la borne asymptotique
(notation O )en appliquant les règles suivantes :
1 Les constantes multiplicatives sont remplacées par 1.
2 Les constante additatives sont annulées.
3 Le terme le plus élevé est conservé.
Exemples
O (3n2 + 8n + 4) : O (n2 )
O (2n + 8n3 + 14n2 ) :
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 22 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Après avoir déterminer les coûts d’exécution des instructions élémentaires et des
instructions composées dans un algorithme on peut trouver la borne asymptotique
(notation O )en appliquant les règles suivantes :
1 Les constantes multiplicatives sont remplacées par 1.
2 Les constante additatives sont annulées.
3 Le terme le plus élevé est conservé.
Exemples
O (3n2 + 8n + 4) : O (n2 )
O (2n + 8n3 + 14n2 ) : O (2n )
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 22 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Après avoir déterminer les coûts d’exécution des instructions élémentaires et des
instructions composées dans un algorithme on peut trouver la borne asymptotique
(notation O )en appliquant les règles suivantes :
1 Les constantes multiplicatives sont remplacées par 1.
2 Les constante additatives sont annulées.
3 Le terme le plus élevé est conservé.
Exemples
O (3n2 + 8n + 4) : O (n2 )
O (2n + 8n3 + 14n2 ) : O (2n )
O (4n + 33log(n + 6)) :
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 22 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Après avoir déterminer les coûts d’exécution des instructions élémentaires et des
instructions composées dans un algorithme on peut trouver la borne asymptotique
(notation O )en appliquant les règles suivantes :
1 Les constantes multiplicatives sont remplacées par 1.
2 Les constante additatives sont annulées.
3 Le terme le plus élevé est conservé.
Exemples
O (3n2 + 8n + 4) : O (n2 )
O (2n + 8n3 + 14n2 ) : O (2n )
O (4n + 33log(n + 6)) : O (n)
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 22 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 23 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
La complexité de l’algorithme Permutation qui fait l’échange deux entiers est O (1).
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 23 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 24 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 24 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
La complexité de l’algorithme estPremier1 qui teste si le nombre entier n est premier est
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 25 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
La complexité de l’algorithme estPremier1 qui teste si le nombre entier n est premier est
O (n).
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 25 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
La complexité de l’algorithme estPremier2 qui teste si le nombre entier n est premier est
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 26 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
La complexité de l’algorithme estPremier2 qui teste si le nombre entier n est premier est
p
O ( n).
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 26 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
1 Introduction
2 Notion de complexité
6 Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 28 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 29 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 29 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 29 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 29 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Technique de sommation
La technique de sommation est utilisée pour résoudre des équations récurrentes en les
exprimant sous forme de sommes, puis en résolvant ces sommes pour obtenir une
expression asymptotique de la complexité.
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 30 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Technique de sommation
La technique de sommation est utilisée pour résoudre des équations récurrentes en les
exprimant sous forme de sommes, puis en résolvant ces sommes pour obtenir une
expression asymptotique de la complexité.
Principe
L’idée est de réécrire l’équation récurrente en une somme qui reflète le nombre
d’opérations effectuées à chaque étape de l’algorithme, puis de simplifier cette somme
pour obtenir une solution.
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 30 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Exemples
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 31 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Exemples
Définition
Une suite réelle (Un )n∈N est dite arithmético-géométrique si :
∀a, b ∈ R tq ∀n ∈ N∗ Un = aUn−1 + b
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 31 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
1 def factorielle ( n ) :
2 if n <=1:
3 return 1
4 else :
5 return n * factorielle (n -1)
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 32 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
1 def factorielle ( n ) :
2 if n <=1:
3 return 1
4 else :
5 return n * factorielle (n -1)
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 32 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
1 def factorielle ( n ) :
2 if n <=1:
3 return 1
4 else :
5 return n * factorielle (n -1)
Exemples
avec
F(0) = 0, F(1) = 1
L’equation récurrente se traduite comme une suite récurrente linéaire non homogène
d’ordre deux.
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 33 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Exemples
avec
F(0) = 0, F(1) = 1
L’equation récurrente se traduite comme une suite récurrente linéaire non homogène
d’ordre deux.
Définition
Une suite réelle (Un )n∈N est récurrente linéaire homogène d’ordre deux si :
Exemples
Les constantes λ et µ se déterminent à l’aide des valeurs des deux premiers termes de la
suite.
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 34 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Exemples
Définition
Une suite réelle (Un )n∈N est récurrente linéaire non homogène d’ordre deux s’il existe
deux réels a et b et une fonction f de N dans R, tels que :
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 35 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Exemples
1 def fibo ( n ):
2 if n <2:
3 return n
4 else :
5 return fibo (n -1)+ fibo (n -2)
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 36 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Exemples
1 def fibo ( n ):
2 if n <2:
3 return n
4 else :
5 return fibo (n -1)+ fibo (n -2)
Si n > 2, on effectue une comparaison et une addition entre deux appels récursifs. Si
n = 0 ou n = 1, seule la comparaison a [Link] a ainsi :
½
C(n − 1) + C(n − 2) + 2 si n ≥ 2
C(n) = (1)
1 sinon
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 36 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Exemples
1 def fibo ( n ):
2 if n <2:
3 return n
4 else :
5 return fibo (n -1)+ fibo (n -2)
Si n > 2, on effectue une comparaison et une addition entre deux appels récursifs. Si
n = 0 ou n = 1, seule la comparaison a [Link] a ainsi :
½
C(n − 1) + C(n − 2) + 2 si n ≥ 2
C(n) = (1)
1 sinon
La complexité est donc une suite récurrente linéaire non homogène d’ordre deux. Cette
récurrence est aussi vraie pour n + 1 :
½
C(n) + C(n − 1) + 2 si n ≥ 2
C(n + 1) = (2)
1 sinon
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 36 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Exemples
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 37 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Exemples
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 37 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Exemples
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 37 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Exemples
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 37 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Exemples
Une autre façon de résoudre une équation de récurrence est de substituer, de façon
répétitive, la définition de la fonction dans le coté droit de son équation jusqu’à ce
qu’une forme simple soit obtenue.
½
T (n − 1) + 2 si n > 1
T (n) =
1 sinon
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 38 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Une autre façon de résoudre une équation de récurrence est de substituer, de façon
répétitive, la définition de la fonction dans le coté droit de son équation jusqu’à ce
qu’une forme simple soit obtenue.
½
T (n − 1) + 2 si n > 1
T (n) =
1 sinon
T(n) = T(n-1) + 2
= (T(n-2) + 2) +2
..
.
1 + n−1
P
= i=1 2
= 1+2(n-1)
= O (n)
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 38 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
½
T (n − 1) + n si n > 1
T (n) =
1 si n = 1
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 39 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
½
T (n − 1) + n si n > 1
T (n) =
1 si n = 1
En substituant à chaque fois dans la récurrence on obtient :
T(n) = T(n-1) + n
= (T(n-2) + (n-1)) +n
..
.
= T(1)+2+ · + (n-1)+n
= 1+2+ · + (n-1)+n
Pn
= i=1 i
n(n−1)
= 2
2
= O (n )
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 39 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
2T ( n2 ) + n si n > 1
½
T (n) =
1 si n = 1
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 40 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
2T ( n2 ) + n si n > 1
½
T (n) =
1 si n = 1
Donc T ( n2 ) = 2T ( 2n2 ) + n2 On substituant d’une façon répétitive jusqu’à arriver au cas de
base T (1), c’est-à-dire à une étape k qui vérifie 2nk = 1 donc à l’étape k = log2 (n) :
T(n) = 2T ( n2 ) + n
= 2(2T ( 2n2 ) + n2 ) + n
= 2n + 22 T ( 2n2 )
..
. ³ ´
n
= (k − 1)n + 2k−1 2k−1
+ 2T ( 2nk )
= kn + 2k T ( 2nk )
= nlog2 (n) + 2log2 (n) T (1)
= nlog2 (n) + n
= O (nlog2 (n))
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 40 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 41 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 41 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Le théorème maître
Le théorème maître (Master Theorem) est une méthode puissante et directe pour
résoudre certaines équations récurrentes en se basant sur le principe diviser pour
régner.
Principe
La méthode de diviser pour régner est une méthode qui permet, parfois de trouver des
solutions efficaces à des problèmes algorithmiques. Elle se fait en trois étapes :
Diviser : on divise les données initiales en plusieurs sous-parties.
Régner : on résout récursivement chacun des sous problèmes associés (ou on les
résout directement si leur taille est assez petite).
Combiner : combiner les différents résultats obtenus pour obtenir une solution au
problème initial.
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 42 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Le théorème maître
Avec ce paradigme, la complexité d’un algorithme traitant des données de taille n s’écrit
souvent :
T (n) = aT ( nb ) + f (n)
½
T (n0 ) = c
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 43 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Le théorème maître
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 44 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Exemple
1 def dicho (l , x , d , f ):
2 if d > f :
3 return False
4 else :
5 m = ( d + f ) // 2
6 if l [ m ] = = x :
7 return True
8 elif x < l [ m ]:
9 return dicho (l ,x ,d ,m -1)
10 else :
11 return dicho (l ,x , m +1 , f )
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 45 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Exemple
1 def dicho (l , x , d , f ):
2 if d > f :
3 return False
4 else :
5 m = ( d + f ) // 2
6 if l [ m ] = = x :
7 return True
8 elif x < l [ m ]:
9 return dicho (l ,x ,d ,m -1)
10 else :
11 return dicho (l ,x , m +1 , f )
On a :
n
T (n) = O (1) + T ( ) et T (0) = O (1)
2
On a : a = 1 et b = 2, f (n) = O (1) donc k = 0 et a = bk = 1
D’où d’après le théorème général : T (n) = O(log2 (n))
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 45 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
1 Introduction
2 Notion de complexité
6 Complexité spatiale
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 46 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Complexité spatiale
De la même façon qu’on définit la complexité temporelle d’un algorithme pour évaluer
ses performances en temps de calcul, on peut définir sa complexité spatiale pour
évaluer sa consommation en espace mémoire. Le principe est le même sauf qu’ici on
cherche à évaluer l’ordre de grandeur du volume en mémoire utilisé : il ne s’agit pas
d’évaluer précisément combien d’octets sont consommés par un algorithme mais de
préciser son taux de croissance (ordre de grandeur) en fonction de la taille de l’entrée.
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 47 / 47
Introduction Notion de complexité Complexité et Notations asymptotiques Analyse de complexité des algorithmes Complexité d’un algorithme récursif Complexité spatiale
Complexité spatiale
De la même façon qu’on définit la complexité temporelle d’un algorithme pour évaluer
ses performances en temps de calcul, on peut définir sa complexité spatiale pour
évaluer sa consommation en espace mémoire. Le principe est le même sauf qu’ici on
cherche à évaluer l’ordre de grandeur du volume en mémoire utilisé : il ne s’agit pas
d’évaluer précisément combien d’octets sont consommés par un algorithme mais de
préciser son taux de croissance (ordre de grandeur) en fonction de la taille de l’entrée.
les variables simples (entiers, booléens, flottants) occupent un espace constant
O (1) qui ne dépend pas de l’entrée.
La taille d’un tableau est en grand O du produit de ces dimensions :
Un tableau à une dimension de N éléments est en O (N).
une matrice N × M est en O (MN)
Les chaînes de caractères sont en grand O de leur longueur.
EL BOUNI F-Z (CPGE- Omar Ibn Al-Khattab) Complexité Algorithmique 8 septembre 2025 47 / 47