Vous êtes sur la page 1sur 7

EXAMEN ALGORITHME ET STRUCTURES DE

DONNÉES
MASTER 1 (INFO, MBDS, RTEL)

16 février 2021

T IC
ENSEIGNANT : GHISLAIN PANDRY
INSTRUCTION : Répondez aux questions dans les espaces prévus sur les feuilles.
Toute réponse en dehors de ces espaces n’est pas prise en compte.
NB : Aucun document autorisé. Toutes ratures entrainent un point en moins.
Durée : 02 heures.

A
EXERCICE 1 (2 points)

S
1. n2 = O(n3 ) ? 1/ point
2
vrai
faux

E
2. n3 = Ω(n2 ) ? 1/ point
2
vrai
faux
3. 2n+1 = O(2n ) ? 1/ point
2
vrai
faux
4. (n + 1)! = Ω(2n ) ? 1/ point
2
vrai
faux

1
EXERCICE 2 (4 points)

1. Montrer que :log(n!) = Ω(nlog(n)) 2.5 points


...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................

C
...........................................................................

I
...........................................................................
...........................................................................
...........................................................................

T
...........................................................................
...........................................................................

A
...........................................................................
...........................................................................

S
...........................................................................
...........................................................................
...........................................................................

E
...........................................................................
...........................................................................
...........................................................................
2. Montrer que :log(n!) = O(nlog(n)) 1.5 point
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................

Page 2
EXERCICE 3 : Suite de Fibonacci (6 points)

1
 si n = 0
F IB(n) = 1 si n = 1
F IB(n − 1) + F IB(n − 2) sinon

1. Écrivez un algorithme récursif calculant F IB(n). 1 point

...........................................................................
...........................................................................
...........................................................................
...........................................................................

C
...........................................................................
...........................................................................

I

2. Montrez que la complexité (en nombre d’addition) de cet algorithme est en O( 1+2 5 )n . 2 points

...........................................................................

T
...........................................................................
...........................................................................

A
...........................................................................
...........................................................................

S
...........................................................................
...........................................................................
...........................................................................

E
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................

Page 3
Son coût est donné par :

0
 si n = 0
T (n) = 0 si n = 1
T (n − 1) + T (n − 2) + 1 sinon

On recherche à ramener à une équation sans second membre. On a donc S(n) = T (n)+1,
on obtient : 
 1
 si n = 0
S(n) = 1 si n = 1
S(n − 1) + S(n − 2) sinon

S(n) − S(n − 1) − S(n − 2) = 0.


2
Le polynôme caractéristique √ associé :X −√ X − 1 = 0.
Les racines sont : r1 = ( 2 ) et r2 = ( 1−2 5 )n .
1+ 5 n

C
√ √
La solution de l’équation de récurrence est donc : S(n) = φ1 (n)( 1+2 5 )n + φ2 (n)( 1−2 5 )n

I
Les coefficients φ1 (n) et φ2 (n) peuvent être déterminés à l’aide des conditions aux limites :
( √ √
ϕ1 (n) × ( 1+2√5 )0 + ϕ2 (n) × ( 1−2√5 )0 = 1
ϕ1 (n) × ( 1+2 5 )1 + ϕ2 (n) × ( 1−2 5 )1 = 1

T
√ √
φ1 (n) = 5+10

5 5− 5
et√φ2 (n) = √ 10 √
5+ 5 1+ 5 n 5− 5 1− 5 n
S(n) = 10 ( 2 ) + 10 √( 2 )

A
Donc S(n) = T (n) = O( 1+2 5 )n
n
3. Montrez que la complexité (en nombre d’addition) de cet algorithme est en Ω(2 2 ). 2 points

S
...........................................................................
...........................................................................

E
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
On procède par récurrence. On veut montrer qu’il existe une constante c strictement
n
positive telle que T (n) ≥ c × 2 2 pour des valeurs de n supérieures à une certaine borne

Page 4
n0 (à déterminer). Supposons le résultat démontré jusqu’au rang n−1. Alors :T (n)T (n−
n−1 n−2 n−2 n−2 n−2 n
1)+T (n−2)+1 ≥ c×2 2 +c×2 2 +1 ≥ c×2 2 +c×2 2 +1 ≥ 2×c×2 2 = c×2 2 .
Il nous reste juste à montrer que cette équation est vraie < au départ >. Nous ne pouvons
bien évidemment pas partir des cas n = 0 et n = 1, puisque pour ces valeurs T (n) = 0.
Nous partons donc des cas n = 2 et n = 3 (la récurrence nécessite deux valeurs de
départ) :
— Cas n = 2 : F IB(2) = F IB(1) + F IB(0), et T (2) = 1. Pour que la propriété désirée
2
soit vraie, c doit donc vérifier : 1 ≥ c × 2 2 ⇔ c ≤ 12
— Cas n = 3 : F IB(3) = F IB(2) + F IB(1), et T (3) = 2. Pour que la propriété désirée
3 √ √
2
soit vraie, c doit donc vérifier : 2 ≥ c × 2 2 = 2 2c ⇔ c ≤ 2
n n
Donc si c 12 , pour n ≥ 2 on a T (n) ≥ c × 2 2 et donc T (n) = Ω(2 2 ).
4. Écrire un algorithme récursif qui calcule, pour n > 0, le couple (F IB(n), F IB(n − 1)). 1 point

C
...........................................................................

I
...........................................................................
...........................................................................

T
...........................................................................
...........................................................................
...........................................................................

A
Proposition

E S 5. Utilisez l’algorithme précédent pour écrire un nouvel algorithme calculant


F ibonacci(n).
6. Qu’elle est la complexité (en nombre d’additions) de cet algorithme ?

EXERCICE 4 (4 points)

1. Montrez que dans un groupe de personnes, il y a toujours deux personnes ayant le 2 points

Page 5
même nombre d’amis présents.
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................

EXERCICE 5 : (4 points)

C
Chaque jour, un groupe de 12 enfants fait une promenade, par rang de deux.

I
1. Combien de jours peuvent-ils se promener si l’on souhaite qu’un enfant n’ait jamais 2 points
deux fois le même voisin ?

T
...........................................................................
...........................................................................

A
...........................................................................
...........................................................................

S
...........................................................................
...........................................................................
...........................................................................

E
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................

Page 6
2. Et si maintenant la promenade se fait par rang de trois ? 2 points
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................
...........................................................................

C
...........................................................................
...........................................................................

I
...........................................................................

S AT
E
Page 7

Vous aimerez peut-être aussi