Vous êtes sur la page 1sur 1

Exercice 3 :

Soit la séquence d’instructions suivantes :


Série 1
Pour i = 1 à n-1 faire
Théorie des Graphes Pour j = i+1 à n faire
Pour k =i à m faire
A[j,k]  A[j,k] - A[i,k]* A[j,i] / A[i,i]
Exercice 1 : Finpour
Finpour
Calculer la complexité, en nombre d’opérations arithmétiques, des algorithmes suivants au Finpour
meilleur et au pire des cas.
1. Déterminer la complexité T(n) de cette séquence.
Algo1 : Algo2 : 2. Discuter et simplifier T(n) pour les 3 cas suivants :
Pour i = 1 à n faire Si x>0 alors - m=n
A[i]  0 Pour i = 1 à n faire - m très grand devant n
Pour j = 1 à n faire A[i]  B[i]*C[i] - n très grand devant m
A[i]  A[i] + B[i,j] Pour j = 1 à n faire 3. Reprendre la question 2 en supposant que T(n)=(2/3)n3+2m²n²+O(n²+mn).
D[i,j]  0 D[i,j]  0
Si B[i,j]>0 alors Pour k =1 à j faire
Pour k =1 à n faire D[i,j]  D[i,j]+X[i,k]*Y[k ,j] Exercice 4 :
D[i,j]  D[i,j] + B[i,k]* Finpour
C[k,j] Finpour Déterminer la complexité au meilleur et au pire des cas des algorithmes de :
Finpour Finpour 1. tri par sélection
Sinon D[i,j]  B[i,j] + C[i,j] Sinon 2. tri à bulles
Finpour Pour i =1 à n faire 3. tri par insertion
Finpour Pour j = 1 à n faire
D[i,j]  X[i,j]+Y[i,j] AlgoTriSélection : AlgoTriBulles :
Finpour Pour i = 1 à n-1 faire Pour i = 1 à n-1 faire
Finpour imin  i Pour j = n à i+1 pas(-1) faire
Finsi Pour j = i+1 à n faire Si T[j]<T[j-1] alors Echange(T[j],T[j-1])
Si T[j]< T[imin] alors iminj FinSi
FinSi Finpour
Exercice 2 : Finpour Finpour
Si imin<>i alors Echange(T[i], T[imin])
1. En utilisant les limites, trouver une relation, en notation asymptotique, entre les deux FinSi
fonctions suivantes : Finpour
f(n) = 5n3 + 30n²
g(n) = 2n² + 3n3logn
AlgoTriInsertion :
2. En utilisant les propriétés de la notation Grand-O, simplifier les expressions suivantes Pour i = 2 à n faire
pour les cas f(n)= O(1), f(n)=O(n) et f(n)=O(n²) : xT[i]
a. O( f(n)log(f(n)) + n) ji-1
b. O( n²+f(n)log(f(n)) + nlogn + f(n)²) Tant que (T[j] >x) et (j>0) faire
c. 3n3 + 2n²f(n)² + O(n² + nf(n)) T[j+1]  T[j]
jj-1
3. Proposer une comparaison des deux algorithmes suivants :
FinTantque
A : TA(n)=100n3
B : TB(n)=n4 T[j+1]  x
Finpour

1/2

Vous aimerez peut-être aussi