TD 1 Complexité Algorithmique
TD 1 Complexité Algorithmique
TD 1 Complexité Algorithmique
Exercice1:
1) Proposer trois algorithmes qui calculent la factorielle d'un entier naturel en utilisant
des structures itératives.
Corrigé:
1)
2)
1
Exercice 2:
1) Proposer deux algorithmes qui effectuent la permutation du contenue d'un tableau T
de taille 3.
Corrigé:
1)
3) Nous remarquons que le premier algorithme est plus efficace, car avec l'utilisation
d'une seule variable nous obtenons une complexité temporelle inférieure à celle lorsque
nous utilisons trois variables supplémentaires, de même pour la complexité spatiale.
Exercice 3:
Soit deux matrices M1 et M2 qui contiennent des éléments positifs.
2
Corrigé:
1) 2)
Somme (i, j, M) Somme (i, M)
Debut Debut
somme =0 somme =0
pour i de 1 à n faire (n) pour i de 1 à n faire (n)
pour j de 1 à n faire (n) somme = somme + M[i] (1)
somme=somme+M[i,j] (1) fin pour
fin pour fin
fin pour
fin
3)
Exercice 4:
1) Proposer un algorithme qui permet de trouver la case où le contenue est égale à une
valeur précisé en avance.
10 5 7 1 18 2
3) Calculer la complexité de votre algorithme dans le pire cas (C'est à dire lorsque la
variable n'existe pas dans le tableau)
9 5 7 1 18 2
Exercice5:
Soit f(n)=4n(n-1)
Corrigé:
3
Pour montrer que f(n) = Θ (g(n))
et f(n) = Ω(g(n))
Pour n>K2=4
(2) f(n) =4n(n-1)= 4n2 -4n = 3n2 +n2 -4n >= n2 -4n = Ω (n2)
Exercice 6:
Calculer O et Ω pour les fonctions suivantes:
f(n)= 2ⁿ+5n+99
g(n)=8nlog(n) + n+12
Corrigé:
Execrice7:
Schématiser les 6 ordres de grandeurs dans la même courbe.
Exercice 8:
Soit f(n) et g(n) deux fonctions tel que:
f(n)= 7 n2 et g(n)= n3