Vous êtes sur la page 1sur 3

TD1:Complexit

Exercice1 :
Ecrire l'algorithme qui permet de calculer le factoriel d'un nombre
n ( en utilisant la rcursivit).
Exercice2 :
Ecrire l'algorithme qui permet de calculer le plus grand commun
diviseur(PGCD).
Exercice3 :
Calculer la complexit de l'algorithme suivant :
Dbut
1:

i0;

2:

j0;

3:

TantQue (i<n)

4:

Si (i Modulo 2=0)

5:

alors j j+1 ;

6:

Sinon jj+2 ;

7:

Finsi

8:

i i+1 ;

9:

FinTantQue.

Fin.

Exercice4 :
Calculer la complexit de l'algorithme suivant :
Dbut
1:

x0;

2:

Pour i allant de 0 jusqu' n-1

faire

3:

Pour j allant de 0 jusqu' 10

faire

4:

xx+tab[i-1+j] * (j+1) ;

5:
6:

FinPour
FinPour

Fin.

Exercice5 :

Calculer la complexit temporelle en fonction du nombre de comparaisons dans le pire et dans le


meilleur des cas.
Refaire les calculs en fonction du nombre d'accs au tableau.
FONCTION RechercheElem( Tableau T[N] : ENTIER ; elem : ENTIER) : ENTIER
VAR i,p : ENTIER
Dbut
1:

i1;

2:

p0;

3:

TANTQUE (i n) ET (p=0)

4:

Si T[i] = elem

5:

ALORS

pi;
6:

SINON

7:

FinSI

8:

FIN TANTQUE

9:

RETOURNER p

ii+1

FIN .
Refaire l'exercice en remplaant La boucle TANTQUE par la boucle POUR.

Exercice 6 :
Calculer la complexit de la fonction factorielle.

Exercice7 :
Calculer la complexit de l'algorithme suivant :
Dbut
1:

total 0

2:

Pour i 0 jusqu' n-1 faire

3:
4:
5:
6:

Pour j i+1 jusqu' n faire


total total+1
FinPour
FinPour

7:
Retourner total
Fin

Exercice 8 :
Proposez un algorithme permettant de calculer la valeur dun polynme P(x) de degr n pour une
valeur x0 donne.
On pourra utiliser la fonction puissance(x,p) qui calcule la valeur de xp.
Quel est la complexit de cet algorithme ?