Sujet : Re: Récursivité
De : erwan (at) *nospam* rail.eu.org (Erwan David)
Groupes : fr.comp.lang.cDate : 14. Jan 2025, 09:05:50
Autres entêtes
Organisation : There's no cabale
Message-ID : <87a5btzuox.fsf@maine-ocean.rail.eu.org>
References : 1 2 3 4
User-Agent : Gnus/5.13 (Gnus v5.13)
kurtz le pirate <
kurtzlepirate@free.fr> écrivait :
On 13/01/2025 05:36, beST wrote:
>
Pour répondre à la question originale, pour bien comprendre la notion de
récursion, il faut avant tout comprendre la notion de récursion. En
d'autres termes, si ça marche, ne touche pas.
>
Ben si justement. Je vais apporter cette précision :
J'ai un environnement où la fonction récursive fonctionne très bien.
>
Je veux porter cette fonction dans un autre environnement, et c'est là qu'il y a
des problèmes dus à la saturation de la pile.
>
>
>
La seule raison pour une fonction récursive de ne pas fonctionner est
lorsqu'elle s'appelle tellement de fois qu'on arrive à une limite de la
pile ou de la mémoire. En dehors de ce cas particulier, une fonction
récursive est plus belle, plus courte, plus facile à lire que son
équivalente non récursive.
>
On est d'accord et je dois supprimer la récursivité.
Alors ça dépend comment est utilisée la récursivité, quelque fois on
peut la transformer en boucle (notament quand c'est une récursivité
terminale, c'est à dire du genre
si cond1 alors résultat
sinon f(autre argument)
-- Les simplifications c'est trop compliqué