Académique Documents
Professionnel Documents
Culture Documents
Coût et Complexité
Le Master Theorem
Jean-Marc.Vincent@imag.fr
Coût et Complexité 1 / 13
L E PROBLÈME É QUATIONS LINÉAIRES PARTITION S YNTHÈSE
R ÉCURRENCE ET COMPLEXITÉ
2 É QUATIONS LINÉAIRES
3 É QUATION DE PARTITION
4 VADE MECUM
Coût et Complexité 2 / 13
L E PROBLÈME É QUATIONS LINÉAIRES PARTITION S YNTHÈSE
É VALUATION DU COÛT
Algorithme
Espace des données Espace des résultats
Machine
Taille de la donnée
Cout du calcul
Entier Entier
Coût et Complexité 3 / 13
L E PROBLÈME É QUATIONS LINÉAIRES PARTITION S YNTHÈSE
R ÉCURRENCE ET COMPLEXITÉ
2 É QUATIONS LINÉAIRES
3 É QUATION DE PARTITION
4 VADE MECUM
Coût et Complexité 4 / 13
L E PROBLÈME É QUATIONS LINÉAIRES PARTITION S YNTHÈSE
É QUATIONS SIMPLES
(
T(0) = 0;
T(n) = T(n − 1) + c(n), pour n > 1.
où f est une fonction (en général positive).
n
X
T(n) = T(0) + c(0) + c(1) + · · · + c(n) = c(i).
i=0
n
Sommes classiques X n2 (n + 1)2
i3 = = Θ(n4 );
4
i=1
n
X
1 = n = Θ(n); et de manière plus générale
i=1
n
X
n
X n(n + 1) ik = O(nk+1 );
i= = Θ(n2 ); i=1
2
i=1
n
Exemples Calcul du coût de l’algorithme
X
2 n(n + 1)(2n + 1) de tri par insertion, par sélection,...
i = = Θ(n3 );
6
i=1
Coût et Complexité 5 / 13
L E PROBLÈME É QUATIONS LINÉAIRES PARTITION S YNTHÈSE
C’est à dire que la fonction de coût croit de manière très rapide, au moins
exponentiellement.
Exercice : Calculer la valeur de T(n) pour l’équation de récurrence
T(0) = T(1) = 1;
Coût et Complexité 6 / 13
L E PROBLÈME É QUATIONS LINÉAIRES PARTITION S YNTHÈSE
R ÉCURRENCE ET COMPLEXITÉ
2 É QUATIONS LINÉAIRES
3 É QUATION DE PARTITION
4 VADE MECUM
Coût et Complexité 7 / 13
L E PROBLÈME É QUATIONS LINÉAIRES PARTITION S YNTHÈSE
É QUATIONS DE PARTITION
(
T(1) = 1;
T(n) = aT( nb ) + c(n), pour n > 1,
Exemples
I Recherche dichotomique, recherche dans un ABR
I Parcours d’un arbre binaire
I tri rapide, tri partition fusion
I fusion en place
I ...
Coût et Complexité 8 / 13
L E PROBLÈME É QUATIONS LINÉAIRES PARTITION S YNTHÈSE
U N DESSIN
Coût et Complexité 9 / 13
L E PROBLÈME É QUATIONS LINÉAIRES PARTITION S YNTHÈSE
tk = a tk−1 + c(bk )
tk−1 = a tk−2 + c(bk−1 )
tk−2 = a tk−3 + c(bk−2 )
.. .. .. ..
. = . . .
t1 = a t0 + c(b0 )
Coût et Complexité 10 / 13
L E PROBLÈME É QUATIONS LINÉAIRES PARTITION S YNTHÈSE
tk = a tk−1 + c(bk )
a tk−1 = a2 tk−2 + a c(bk−1 )
a2 tk−2 = a3 tk−3 + a2 c(bk−2 )
.. .. .. ..
. = . . .
ak−1 t1 = ak t0 + ak−1 c(b0 )
Pk−1
tk = ak t0 + i=0
ai c(bk−i )
k−1
X
T(n) = nlogb a + ai c(bk−i ).
i=0
En fonction du problème étudié, soit le premier terme l’emporte “le coût de partition”
n’est pas prépondérant, soit c’est le deuxième terme qui l’emporte et toute la
complexité du calcul est dans le partitionnement.
Coût et Complexité 10 / 13
L E PROBLÈME É QUATIONS LINÉAIRES PARTITION S YNTHÈSE
Coût et Complexité 11 / 13
L E PROBLÈME É QUATIONS LINÉAIRES PARTITION S YNTHÈSE
R ÉCURRENCE ET COMPLEXITÉ
2 É QUATIONS LINÉAIRES
3 É QUATION DE PARTITION
4 VADE MECUM
Coût et Complexité 12 / 13
L E PROBLÈME É QUATIONS LINÉAIRES PARTITION S YNTHÈSE
VADE MECUM
Coût et Complexité 13 / 13