0% found this document useful (0 votes)
5 views3 pages

Td1 Complexite

Exam

Uploaded by

djouguelakarl8
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views3 pages

Td1 Complexite

Exam

Uploaded by

djouguelakarl8
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Exercices de complexité

Exercice 1
Remplir les deux tableaux ci-dessous :

Exercice 2
Quel est le temps d’exécution (asymptotique) de chacun des algorithmes suivants, en fonction
de n ? Justifiez vos réponses.
a)
for i = 1 to n do

TD N°1 – Complexite 1
for j = 1 to 2n + 1 do
print (« Hello World)
end for
end for

b)
for i = 1 to 10 do
for j = 1 to n do
print (« Hello World »)
end for
end for

c)
for i = 1 to n do
for j = i to n do
print (« Hello World »)
end for
end for

d)
for i = 1 to n do
for j = 1 to 2 ∗ i + 1 do
print (« Hello World »)
end for
end for

e)
for i = 1 to n ∗ n do
for j = 1 to i do
print (« Hello World »)
end for
end for

f)
for (i = 0 to m) do
t ← 1
while (t < m) do
print (« Hello world »)
t ← t ∗ 2
end while
end for

Exercice 3
Soient TA(n), TB(n) et TC(n) les temps d’éxecution des algorithmes A, B et C, respectivement.
Instruction A
if (n < 100) then
Instruction B
else
for (j = 1 to n) do
Instruction C
end for
end if

TD N°1 – Complexite 2
Quelle est la durée d’exécution de cet algorithme, sous chacun des ensembles d’hypothèses
suivants ? Justifiez vos réponses.
1.TA(n) = O(n), TB(n) = O(n2) et TC(n) = O(log n).
2.TA(n) = O(n2), TB(n) = O(n2) et TC(n) = O(log n).
3.TA(n) = O(n2), TB(n) = O(n3) et TC(n) = O(log n).

Exercice 4
Quelle est la complexité, dans le pire des cas, de chacun des fragments de code suivants ?
Deux boucles d’affilée :
for (i = 0; i < N; i++) {
sequence of statements}
for (j = 0; j < M; j++) {
sequence of statements}
Comment la complexité changerait-elle si la deuxième boucle passait à N au lieu de M ?
Une boucle imbriquée suivie d’une boucle non imbriquée :
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
sequence of statements
}}
for (k = 0; k < N; k++) {
sequence of statements}
Une boucle imbriquée dans laquelle le nombre d’exécutions de la boucle interne dépend de la
valeur de l’index de la boucle externe :
for (i = 0; i < N; i++) {
for (j = N; j > i; j–) {
sequence of statements
}}

Exercice 5

TD N°1 – Complexite 3

You might also like