TD 8 Licence 3 Info et Math/Info
TD 8 – Révisions
Exercice 1 Combien de lignes (en notation asymptotique θ(.)) écrit le programme suivant
(justifier) :
function fun(n)
if (n>1) then
print_line ("encore une") ;
fun(n/2) ;
fun(n/2) ;
Exercice 2 On se donne un tableau Tde néléments entiers (non triés). On aimerait retirer
en temps θ(n.log(n)) tous les doublons de T. Comment faire ?
Exercice 3 Donner un algorithme efficace en temps, et qui utilise peu de mémoire, pour
réarranger les éléments d’un tableau de telle sorte que chaque élément négatif est avant tout
élément positif.
Exercice 4 On considère la récurrence suivante : T(n)=2T(n/2)+5n.log2(n)avec T(1) =
1. Dire lesquelles de ces affirmations sont vraies :
1. T (n) = θ(n.log2(n)) 2. T (n) = Ω(n.log2(n)) 3. T (n) = θ(n.(log2(n))2)
4. T (n) = θ(n) 5. T (n) = O(n.(log(n))3) 6. T (n) = θ(n.(log5(n))2)
Exercice 5 Calculer la distance d’édition entre EXERCICES et EXAMEN avec l’algorithme
vu en cours.
Exercice 6 Multiplication : Soit un ensemble Smuni d’une opération ·:S2Sasso-
ciative, i.e. e1·(e2·e3)=(e1·e2)·e3pour tout e1, e2, e3S. En général, en fonction du type
des éléments de S, il peut être moins coûteux de calculer (e2·e3)puis e1·(e2·e3), plutôt
que (e1·e2)puis (e1·e2)·e3.
On veut calculer ici e1·e2· · · · · ene1, . . . , enSsont donnés en entrée. On veut
déterminer le parenthésage de coût minimal. Pour cela on suppose disposer d’une fonction
de coût Cqui à tout 1ij < k nassocie le coût C(i, j, k)de multiplier deux éléments
eij et e(j+1)k, où eij =ei·. . . ejet e(j+1)k=ej+1 · · · · · ek.
1. Donner un algorithme de programmation dynamique qui permet de calculer le coût
minimal pour calculer e1· · · · · en, et retourne le parenthésage associé et donner sa
complexité asymptotique. Idée : introduire une fonction K(i, k)qui représente le coût
minimal pour calculer ei·· · ··ek. Pour calculer les valeurs de K, itérer sur des différences
kicroissantes.
2. Supposons que Ssoit l’ensemble des matrices d’entiers. Pour tout e, f S, à quelle
condition e·fest bien défini ? Quel est le coût de calculer e·favec l’algorithme naïf ?
Si on vous calculer le produit de nmatrices, comment définir la fonction C?
1
1 / 1 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 !