|
Page : 1 2 Page Précédente | |
Auteur | Sujet : [C] Recursivité : limite ? |
Publicité | Posté le 13-05-2001 à 17:35:10 |
z51 | La taille de la pile est un des paramètres du compilateur (enfin plus précisément du linker).
|
Evadream -jbd- | Ok merci ! --------------- Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live - Martin Golding |
mystereetbouledegomme | a la main ca marche aussi ... la derecu :=) |
verdoux And I'm still waiting | Sauf que dans le code donné pour la factorielle, la récursivité n'est pas terminale car la valeur de retour n'est pas l'appel de la fonction mais un calcul appellant la fonction. |
BifaceMcLeOD The HighGlandeur | Heu.... oui, c'est vrai ça. Verdoux, tu fais ch.... ! |
verdoux And I'm still waiting | On peut faire une factorielle en récursivité terminale:
[edit]--Message édité par Verdoux--[/edit] |
BifaceMcLeOD The HighGlandeur | Ouais... Effectivement, il n'y a que de l'appel terminal, mais c'est un peu tordu à mon goût, le coup du wrapper pour un code aussi simple...
|
Publicité | Posté le 14-05-2001 à 00:10:37 |
verdoux And I'm still waiting | En c++ on peut faire sans wrapper
|
BifaceMcLeOD The HighGlandeur | Oui ben en Ada aussi alors...
|
wouatouwouatou | Vi... Très intéressant tout ca !!!!
|
mystereetbouledegomme | Enfin tout ca pour dire que vous utilisez la recursivite la ou il faut justement pas l'utiliser... On se fout de garder sur le stack tout les valeurs de n... |
verdoux And I'm still waiting | Justement, avec le programme récursif classique de la factorielle, t'accumules sur la pile toutes les valeurs de n puisqu'à l'étape i, il y aura:
|
mystereetbouledegomme | Oui c'est une amelioration mais bon quand meme une boucle c bien aussi |
verdoux And I'm still waiting | Pour la boucle, c'est pareil, non ? Tu gardes l'indice et le produit. |
mystereetbouledegomme | J'avais pas vu les choses comme ca ok c'est puissant la recu terminale alors |
verdoux And I'm still waiting | C'est pas que c'est puissant, c'est strictement équivalent à la méthode boucle et c'est pour ça que les compilos arrivent à dé-récursifier.
[edit]--Message édité par Verdoux--[/edit] |
mystereetbouledegomme | Par puissant je voulais dire que c'est plus joli et plus mystique que la bete boucle...
|
BifaceMcLeOD The HighGlandeur | Mystère> Bon, on va peut-être gommer le topique, là, parce que sinon, j'en connais qui risque de se mettre en boule... |
wouatouwouatou | Euh... Attendez avant de le jeter à la poubelle ce topic ...
|
LeGreg |
|
Mara's dad Yes I can ! |
--------------- Laissez l'Etat dans les toilettes où vous l'avez trouvé. |
wouatouwouatou | Ah... oki oki
|
Mara's dad Yes I can ! | En fait je suis pas certain pour le C++, j'ai vu çà en Java.
--------------- Laissez l'Etat dans les toilettes où vous l'avez trouvé. |
mystereetbouledegomme | C'est une valeur par defaut pour un parametre comme tu l'a dit... |
wouatouwouatou | En JAVA ??!!
|
Mara's dad Yes I can ! | Je croyais que c'était en Java, mais j'ai un doute là tout d'un coup ! (surcharge en effet).
--------------- Laissez l'Etat dans les toilettes où vous l'avez trouvé. |
verdoux And I'm still waiting |
[edit]--Message édité par Verdoux--[/edit] |
HelloWorld Salut tout le monde! | "... Ca doit etre specifique au C++, non ? "
--------------- FAQ fclc++ - FAQ C++ - C++ FAQ Lite |
mystereetbouledegomme | Sais pas si ca existe en pascal en tout cas moi j'ai jamais trouve non plus |
BifaceMcLeOD The HighGlandeur | A ma connaissance, donner une valeur par défaut à un paramètre de fonction n'est reconnu ni en Pascal, ni en Java. Ceci dit, peut-être que Borland a rajouté cette fonctionalité dans Delphi...
[edit]--Message édité par BifaceMcLeOD--[/edit] |
rufo Pas me confondre avec Lycos! | dites, j'ai implémenté un algo qui est basé sur une croissance de région. En gros, on passe à la fonction un pixel Pm (appelé graine), un seuil Tm (en niveau de gris, de 0 à 255), un pointeur sur l'image Tr sur laquelle je veux effectuer la croissance de région et un pointeur sur un tableau de pixels Set_G qui va récupérer tous les pixels voisins de Pm.NdG > Tm
|
mystereetbouledegomme | Tu peux toujours utiliser un stack et simuler la recursivite avec le stack et l'optimiser en ne mettant sur le stack que les valeurs dont tu as vraiment besoin (au retour de l'appel) et puis peut etre que tu peux trouver une fonction inverse que tu appellerais au retour de ta recu(sauf qu'il y en a plus) et cette fonction inverse te donnerait a partir dela valeur actuelle de tes variables les valeurs avant le pseudo appel.
|
rufo Pas me confondre avec Lycos! |
|
mystereetbouledegomme | Imaginons que tu as 100 variables ds ta fonction recursive en la rappellant tu vas tout savuer sur le stack systeme. Donc tu peux faire une fonction non recursive utilisant une boucle et un stack(interne a ta fonction) sur lequel tu ne sauves que tes varaibles dont tu auras besoin plus tard.
|
mystereetbouledegomme | Pas trop
|
mystereetbouledegomme | //RECURSIF
|
gizmo |
|
Publicité | Posté le |
Page : 1 2 Page Précédente |
Sujets relatifs | |
---|---|
limite à la taille des url?? | limite de 255 chr dans les formulaires |
limité l'exploration de la balise <input type="file"... | [phpmyadmin] y a-t-il une limite pour le nombre de champs ? |
[php] socket : limite de temp? | |
Plus de sujets relatifs à : [C] Recursivité : limite ? |