Recursivité [Résolu]

Messages postés
12
Date d'inscription
vendredi 30 avril 2004
Dernière intervention
17 octobre 2005
- 7 oct. 2005 à 00:59 - Dernière réponse :
Messages postés
12
Date d'inscription
vendredi 31 août 2007
Dernière intervention
4 mai 2008
- 2 mai 2008 à 18:45
J'ai lu, je sais plus trop ou, que l'appel d'une fonction etait plus lent que de placer le code de la fonction directement dans le code principal (je suis pas une grosse bete en info, ya une histoire de variables placees dans la pile et en gros c est plus long ???)

Alors la petite question :
Pour ce qui est des fonctions recursives simples, du genre du calcul de factoriel, ce serait pas plus rapide d'utiliser des boucles iteratives pour economiser du processeur et de la memoire ????

Les fonctions recursives sont plus elegantes, mais si je fais un jeu et qu'il y a plein d'appels de fonctions recursives, je me demande s'il ne vaudrait pas mieux utiliser des iterations => plus rapide ????

Et bonne nuit a ceux qui dorment deja !!!!
Afficher la suite 

Votre réponse

10 réponses

Meilleure réponse
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
7 oct. 2005 à 06:21
3
Merci
les fonctions récursives sont effectivements plus 'lentes' que les itératives... car, il faut recopier le context de chaque récursivité sur la pile... etc. pour à la fin dépiler.

bref... mais attention les fonction itératives sont souvent beaucoup plus difficiles à écrire... et au final, on n'est pas toujours gagnant...

à toi de voir.

Sébastien FERRAND

Merci sebmafate 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de sebmafate
Meilleure réponse
Messages postés
145
Date d'inscription
lundi 13 janvier 2003
Dernière intervention
27 décembre 2005
7 oct. 2005 à 09:07
3
Merci
Si tu peux choisir, preferes largement les fonctions iteratives qui seront toujours

beaucoup plus rapides et moins gourmandes en memoires que les recursives.



En plus une fonction recursive peut te faire planter un prog puisque tu es limite par

la taille de la pile qui n'est pas tres grande.

La brigade meurt mais ne se rend pas (Hisoka)

Merci cs_poullos 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de cs_poullos
Messages postés
12
Date d'inscription
vendredi 30 avril 2004
Dernière intervention
17 octobre 2005
7 oct. 2005 à 14:10
0
Merci
Merci pour vos reponses,

C'est vraiment sympa de faire par de vos connaissances.
Commenter la réponse de culroussi
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
8 oct. 2005 à 09:23
0
Merci
Et en plus les fonctions récursives ça donne un de ces mal de tête à déboguer.
Commenter la réponse de Lutinore
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
8 oct. 2005 à 09:39
0
Merci
je ne suis pas vraiment d'accord... il est parfois plus facile de débugger des fonctions récursives.

de toute façon, les fonctions récursives sont parfois nécessaire... un exemple simple : parcourir la collection de contrôles d'un formulaire...

Sébastien FERRAND
[MVP C#]
Commenter la réponse de sebmafate
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
8 oct. 2005 à 11:21
0
Merci
Ouaip celle la en version récursive je l'ai déja postée sur le forum, mais je ne sais plus où..
Commenter la réponse de Lutinore
Messages postés
341
Date d'inscription
mercredi 8 juin 2005
Dernière intervention
10 février 2009
8 oct. 2005 à 20:13
0
Merci
[Message en retard]

Salut, perso je préfere débugger une récursive. Et puis dans certains
cas elles s'impose, pour un objet recordset de adodb par exemple
Commenter la réponse de t_barbillon
Messages postés
12
Date d'inscription
vendredi 31 août 2007
Dernière intervention
4 mai 2008
1 mai 2008 à 14:39
0
Merci
Salut,
Pour une fonction récursive peut-on amèliorer la taille de la pile d'execution?

merci d'avance!!
Commenter la réponse de khabdou
Messages postés
6366
Date d'inscription
samedi 1 juin 2002
Dernière intervention
2 août 2014
1 mai 2008 à 14:58
0
Merci
Salut,

Oui, ça se fait à la création du thread, ou en modifiant la valeur par défaut pour l'excutable complet.
Mais il est peu être temps de plutôt revoir l'architecture de l'élément causant cet overflow.

PS : Evite de ressusciter des sujets vieux de plusieurs années, ça limite fortement les chances de réponse.

/*
coq
MVP Visual C#
CoqBlog
*/
Commenter la réponse de cs_coq
Messages postés
12
Date d'inscription
vendredi 31 août 2007
Dernière intervention
4 mai 2008
2 mai 2008 à 18:45
0
Merci
Merci beaucoup.....
J'ai vous envoyé un message incluant ma fonction recursive,
Merci de votre aide..
Commenter la réponse de khabdou

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.