2
Exercice 3 :
On considère deux matrices carrées (d’entiers) d’ordre n, A et B. Le produit de A par B est
une matrice carrée C définie par :
C
i,j
=
1- Nous proposons l’algorithme ci-dessous qui permet de calculer le produit de deux matrices
représentées sous forme de tableaux à deux dimensions.
i, j, k : entier
pour i de 1 à n faire
pour j de 1 à n faire
C[i,j] 0
pour k de 1 à n faire
C[i,j] C [i,j] + A[i,k] x B[k,j]
fin pour
fin pour
fin pour
a- Calculer la complexité temporelle et spatiale de cet algorithme.
b- Doit on préciser dans quels cas (pire cas, meilleur des cas, cas moyen) cette
complexité est obtenue ?
2- Supposons maintenant que la matrice A est de dimension (m, n) et la matrice B est de
dimension (n, p). L’algorithme qui permet de calculer le produit de ces deux matrices est le
suivant :
i, j, k : entier
pour i de 1 à m faire
pour j de 1 à p faire
C[i,j] 0
pour k de 1 à n faire
C[i,j] C [i,j] + A[i,k] x B[k,j]
fin pour
fin pour
fin pour
Quelle est alors la complexité temporelle de cet algorithme ?
Exercice 4 :
On considère un tableau A de n éléments, que l’on suppose trié en ordre croissant.
1- Soit la fonction ci-dessous qui permet d’afficher la position d’un élément elt dans un
tableau A. (On suppose qu’elt est bien dans le tableau et qu’on cherche la première
occurrence de cette valeur)