ACFrOgCE4tqNkZD-a8HtlPfOpzEfJVyvZPs1oMyQf1 ev7ZeA6qlmQVTKoSmYOh6EtCTJun34pkleorjPt q2W-9uKbieSOO3JD8-9PB-Q0iX2tRnVtlanvafIdkru6YUh A87oPZC3GG rIvjU3
ACFrOgCE4tqNkZD-a8HtlPfOpzEfJVyvZPs1oMyQf1 ev7ZeA6qlmQVTKoSmYOh6EtCTJun34pkleorjPt q2W-9uKbieSOO3JD8-9PB-Q0iX2tRnVtlanvafIdkru6YUh A87oPZC3GG rIvjU3
ACFrOgCE4tqNkZD-a8HtlPfOpzEfJVyvZPs1oMyQf1 ev7ZeA6qlmQVTKoSmYOh6EtCTJun34pkleorjPt q2W-9uKbieSOO3JD8-9PB-Q0iX2tRnVtlanvafIdkru6YUh A87oPZC3GG rIvjU3
Exercice 1
Prouver que :
1. n2 ∈ O(10−3 n3 ).
2. 17n4 - 13n3 + 7n2 ∈ Θ(n4 ).
3. Si f (n) 6 g(n), pour tout n > 0, alors f (n) + g(n) = O(g(n)).
4. Si f (n) = n log(n) + O(n), alors f (n) = Θ(n log(n)).
5. log(n!) = Θ(n log(n)).
Exercice 2
Soient m et n deux entiers positifs. Calculer la complexité des algorithmes suivants par rapport
au nombre d’itérations effectuées :
Algorithm 1:
begin
i := 1 ; j := 1;
while ((i 6 m) et (j 6 n)) do
i := i + 1;
j := j + 1;
end
end
Algorithm 2:
begin
i := 1 ; j := 1;
while ((i 6 m) ou (j 6 n)) do
i := i + 1;
j := j + 1;
end
end
1
Algorithm 3:
begin
i := 1 ; j := 1;
while ((j 6 n) do
if (i 6 m) then
i := i + 1;
else
j := j + 1;
end
end
end
Algorithm 4:
begin
i := 1 ; j := 1;
while ((j 6 n) do
if (i 6 m) then
i := i + 1;
else
j := j + 1;
i := i + 1;
end
end
end
Exercice 3
Résoudre les équations de récurrences suivantes (trouver une borne asymptotique de la solution
T (n)) :
1. T (n) = 2T (n/2) + n3 .
2. T (n) = 9T (n/10) + n.
3. T (n) = 16T (n/4) + n2 .
√
4. T (n) = 2T (n/4) + n.
5. T (n) = T (n − 1) + n.
√
6. T (n) = T ( n) + 1 (utiliser le changement de variable m = log(n)).
Exercice 4
Soit c une constante positive, et posons T (n) = 1 + c + c2 + ... + cn = i=n i
P
i=0 c . Démontrer
que :
1. Si 0 < c < 1, alors T (n) = Θ(1).
2. Si c = 1, alors T (n) = Θ(n).
3. Si c > 1, alors T (n) = Θ(cn ).
Exercice 5
Supposons que, pour résoudre un même problème P , vous devriez choisir un algorithme parmi
les trois proposés :
2
• L’algorithme A résout une instance du problème P de taille n en le divisant en 5 sous-
problèmes, chacun de taille n2 , puis résout récursivement chaque sous-problème, et fina-
lement combine les solutions en temps linéaire en n.
Pr. A. DARGHAM