Les algorithmes recursifs 1ère année Génie Informatique Dr Daouda Traoré Université de Ségou email: [email protected] 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) factorielle(4) 4*factorielle(3) 24 4*6 4*3*2 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 Montée 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