Académique Documents
Professionnel Documents
Culture Documents
TD 5 : Complexité (suite)
Exercice 1
Ecrire une fonction récursive qui réalise la recherche d’un élément dans un tableau d’entiers
T. Etudier le cas où T n’est pas trié et où T est trié. Estimer la complexité dans chacun des
cas.
Fin
Exercice 2
Ecrire une fonction récursive permettant de calculer Xn et estimer sa complexité en nombre de
multiplications.
Fonction Puissance(X, n)
Var res=1 ;
Début
Si n=0 retourner(1) ;
Sinon
Retourner(X* Puissance (X, n-1)
Fin pour T(n) = aT(n-1)+f(n)
Fin n
f (i )
T ( n ) = a n T ( 0) + ∑ i
Relation de récurrence i =1 a
T(n)=T(n-1)+1 T(n)=O(n)
1
Université Tunis El Manar
Institut Supérieur d’Informatique
Exercice 4
Etant donné un tableau T composé de N éléments entiers. On voudrait déterminer son
maximum par un algorithme récursif basé sur le paradigme « diviser pour régner » :
1. En considérant que le maximum est le plus grand entre le dernier terme et le maximum
des (n-1) premiers termes. Estimer sa complexité.
2. En considérant que le maximum est le plus grand entre les maximums des deux moitiés
du tableau. Estimer sa complexité.
T(n)=T(n-1)+1 =>T(n)=O(n)
Si(max1<max2) alors
Retourner(max2)
Sinon
Retourner(max1)
finsi
Fin
Si a > bk alors T(n) = O(nlogb(a) ) (cas 1)
Si a = bk alors T(n) = O(nk ×logb(n)) (cas 2)
Si a < bk alors T(n) = O(nk) (cas 3)
T(n)=2T(n/2)+1
a=2, b=2, f(n)=1 et = (cas 1) =>T(n)=O(n)