Test
Licence Informatique (L3)
Année 2014-2015
Durée: 6 Heures
Introduction à l’algorithmique
TD – Séance 1-2
Exercice 1 – Complexité en fonction de deux paramètres
Déterminer la complexité des algorithmes suivants (par rapport au nombre d’itérations effectuées), où m et n sont deux entiers positifs.
Algorithme 1 Algorithme A
AlgoA(m : entier, n : entier)
. Entrées : m et n
Début
. Variables locales i,j : entier ; i 1; j
1;
tant que ((i m) et (j n)) faire i i + 1; j j + 1; fin tant que
Fin
Algorithme 2 Algorithme B
AlgoB(m : entier, n : entier)
. Entrées : m et n
Début
. Variables locales i,j : entier ; i 1; j
1;
tant que ((i m) ou (j n)) faire i i + 1; j j + 1; fin tant que
Fin
Algorithme 3 Algorithme C
AlgoC(m : entier, n : entier)
. Entrées : m et n
Début
. Variables locales i,j : entier ;
1
i
1; j
1;
tant que (j n) faire si (i m) i i + 1; sinon j j + 1; fin si fin tant que
Fin
Algorithme 4 Algorithme D
AlgoD(m : entier, n : entier)
. Entrées : m et n
Début
. Variables locales i,j : entier ; i 1; j
1;
tant que (j n) faire si (i m) i i + 1; sinon j j + 1; i 1; fin si fin tant que
Fin
Exercice 2 –
On considère la fonction récursive suivante :
1. Fonction Chebyshev (n :entier, x : entier) ;
2. début
3.
si n == 0 alors retourner (1) ;
4.
sinon
5.
si n == 1 alors retourner(x) ;
6.
sinon retourner (2 ⇤ x ⇤ Chebyshev(n
7.
8.
1, x)
Chebyshev(n
2, x)) ;
finsi finsi 9. fin
1. Quel est le résultat de l’appel de Chebyshev(5,2) ? (Détailler)
2. Quel est le résultat de l’appel de Chebyshev(3,y) ? où y est une variable entière quelconque ?
3. Quelle est la complexité de cet algorithme (donner les opérations fondamentales et détailler votre calcul)
2
Exercice 3 – Recherche Séquentielle
On considère un tableau A de n éléments, que l’on suppose trié en ordre croissant. On cherche