Vous êtes sur la page 1sur 1

D epartement dInformatique Facult e des Sciences, Universit e Ibn Zohr Agadir

Algorithmique et structures de donn ees TD1 - Complexit e, r ecursivit e, structures Fili` ere : SMI4 Exercice 1: Ecrire un algorithme (programme en langage C) it eratif donnant lindice de la premi` ere occurence dun el ement minimal dans un tableau de N entiers (on suppose N 2). Exemple : si la suite des el ement du tableau est 5,2,4,2,1,7,9,4,1,1, il y a 3 occurrences de l el ement minimal et lindice de sa premi` ere occurence est 5. Evaluer sa complexit e. Exercice 2: On appelle MiniMax dune matrice dentiers la valeur minimale des maximas de chaque ligne. Ecrire un algorithme qui retourne la valeur MiniMax dune matrice dentiers n m. On suppose N 1 et M 1. Evaluer sa complexit e. Exercice 3: 1. Donner une fonction r ecursive puissance(a,i) qui calcule ai . 2. Refaire la m eme fonction en utilisant lexponentiation rapide (voir cours). 3. Calculer la complexit e dans les deux cas (1 et 2). 4. Donner une fonction r ecursive somme(a,n) qui calcule
n i=0

ai .

5. Calculer la complexit e de lalgorithme pr ec edent (somme). Exercice 4: Dire ce que d enissent les fonctions suivantes, puis calculer leur complexit e, pour rec1 en nombre de multiplications par 2 et pour rec2 en nombre dadditions ; int rec1(int n) { if(n == 0) return 1; else return 2*rec1(n-1); } int rec2(int n) { if(n == 0) return 1; else return (rec2(n-1) + rec2(n-1)); }