Universit´e de Provence
Master1 Math´ematiques et applications 2008-2009
Algorithmique et programmation. TD1
Suite de Fibonacci
La suite de Fibonacci (Fn) est d´efinie par:
(F)
F0= 1
F1= 1
Fn=Fn1+Fn2pour tout n2
1. Donner l’algorithme r´ecursif induit par les formules (F).
2. Calculer, en fonction de nle nombre d’additions ecessaires pour le calcul de Fn. Quel est
son comportement asymptotique? Quel est l’espace occup´e?
3. Donner un algorithme it´eratif de calcul de Fn.
4. R´epondre `a la question 2 dans le cas de cet algorithme.
Sin x
1. Donner un algorithme de calcul de sin(x) `a l’aide de la formule :
sin(3x) = 3 sin(x)4sin3(x)
et en approximant sin(x) par xau voisinage de 0 (donner une solution r´ecursive et it´erative).
2. Prouver la correction de ces deux algorithmes.
3. Calculer leur complexit´e.
Puissance ´egyptienne
On se propose de comparer deux algorithmes calculant la puissance ni`eme d’un nombre r´eel x.
L’algorithme 1 consiste `a faire une multiplication de nfacteurs ´egaux `a x.
L’algorithme 2 repose sur le fait que pour tout entier nstrictement positif:
(R)xn= (x2)n/2si n est pair
xn=x.xn1si n est impair
1. Ecrire l’algorithme 1.
2. Donner une version r´ecursive de l’algorithme 2 reposant sur les relations (R).
3. Donner une version it´erative de l’algorithme 2 et prouver sa correction.
On se propose maintenant de comparer l’efficacit´e de ces trois versions. Pour les complexit´es
en temps, la taille de la donn´ee est mesur´ee par le nombre net les op´erations fondamentales
sont les divisions et les multiplications.
4. Comparer l’encombrement m´emoire de l’algorithme 1 et des deux versions de l’algorithme 2.
5. Calculer la complexit´e en temps de l’algorithme 1.
6. Montrer, sans chercher `a les calculer, que les complexit´es en temps des deux versions de
l’algorithme 2 sont identiques.
7. Evaluer le comportement asymptotique de la complexit´e en temps de l’algorithme 2.
Recherches s´equentielles dans un tableau
1. Donner les algorithmes de recherche s´equentielle d’un ´el´ement xdans une liste d’´el´ements de
mˆeme type dans chacun des cas suivants:
L’ordre des ´el´ements est quelconque
La liste est ordonn´ee.
On utilise une sentinelle.
2. Evaluer en fonction du nombre d’´el´ements de la liste le nombre de comparaisons n´ecessit´ees
par chacune des recherches ci-dessus, dans le pire des cas et en moyenne. Que peut-on dire
des ordres de grandeur asymptotiques?
Fusion de deux tableaux
Donner l’algorithme de fusion de deux tableaux tri´es. Estimer, en fonction de la taille des tableaux,
le comportement asymptotique de l’algorithme.
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !