Adloun

informatique (tronc commun des prépas scientifiques) · Chapitre 6 · Exercice de TD

Pile bornée — estimer avant d'exécuter

Fonctions récursives · niveau 3 (difficile)

É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 ).

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre