90 likes | 363 Views
Les algorithmes recursifs. 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou email: daoudatr2008@gmail.com. Les algorithmes récursifs. Un Algorithme récursif est un algorithme qui fait appel à lui-même dans le corps de sa propre définition.
E N D
Les algorithmes recursifs 1ère année Génie Informatique Dr Daouda Traoré Université de Ségou email: daoudatr2008@gmail.com
Les algorithmes récursifs • Un Algorithme récursif est un algorithme qui fait appel à lui-même dans le corps de sa propre définition. • Cas de base : permet de définir la condition d’arrêt de l’algorithme récursif, c’est un cas dans lequel l’algorithme ne s’appelle pas lui-même • Exemple : la fonction factorielle Algorithme factorielle (Entrée : un entier n) : un entier Debut si n==0 alors retourner 1 sinon retourner n*factorielle(n-1) finsi Fin
Les algorithmes récursifs • Calcule de factorielle (4) 24 factorielle(4) 4*6 4*factorielle(3) 4*3*2 Montée Descente 4*3*factorielle(2) 4*3*2*1 4*3*2*factorielle(1) 4*3*2*1*1 4*3*2*1*factorielle(0) 4*3*2*1*1
Algorithme du calcul de puissance { calcul de x a la puissance n } Algorithme puissance(Entrée: x et n des entiers): entier Debut si (n=0) alors retourner 1 sinon retourner x*puissance(x, n-1) finsi Fin
Algorithme du calcul de la somme { calcul de la somme des entiers entre 1 et n } Algorithme somme(Entrée: n): entier Debut si (n=1) alors retourner 1 sinon retourner somme(n-1)+n; finsi Fin
Algorithme du plus grand commun diviseur {PGCD (plus grand commun diviseur)} Algorithme PGCD(Entrée: a et b des entiers) : un entier Debut si (a=b) alors retourner a sinon si (a < b) alors retourner PGCD (a, b-a) sinon retourner PGCD(a-b, b) Finsi Finsi Fin
Avantages et Inconvénients • Avantages • Simple à écrire • Nombre d’appels récursifs souvent facile à calculer • Temps d’exécution souvent facile à estimer • Inconvénients • Consomme de la mémoire • Couteux en temps de calcul