Pile bornée — estimer avant d'exécuter
Exercice · informatique (tronc commun des prépas scientifiques), chapitre 6 — Fonctions récursives
Énoncé
Pour les fonctions somme_jusqua(n), dichotomie_rec, puissance(x, n), fib(n) (naïve), sous_listes(t) et koch(L, n), indiquer la profondeur maximale de pile d'appels et identifier les risques de débordement en Python (limite de 1000).
Corrigé
somme_jusqua(n): profondeur . Risque de crash élevé dès . Parade : passage à une boucle itérative.dichotomie_rec: profondeur . Aucun risque de débordement ( appels pour éléments).puissance(x, n): profondeur . Aucun risque.fib(n): profondeur en théorie, mais l'explosion du nombre d'appels () bloque le temps d'exécution bien avant d'atteindre la limite de pile. Parade : écriture itérative.sous_listes(t): profondeur , mais la mémoire requise pour stocker les listes sature le système dès , rendant la profondeur de pile secondaire.koch(L, n): profondeur . Aucun danger en pratique car le nombre de segments dessinés () limite à des valeurs très faibles (souvent ).
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.