bonjour a tous !! j'ai un petit probleme un peu casse tete :
e bosse sur un petit programme dont le coeur est une fonction recursive binaire qui s'arrete quand une precision donnée sur le resultat est atteint.. le probleme c'est que ca peut prendre tres longtemps, je cherche un moyen d'estimer le temps que ca va prendre.
l'idee que j'avais eu, c'etait de regarder le nombre de fois qu'il passait par une certaine profondeur.
par exemple, a priori il va passer en tout 4fois a la profondeur 2, donc la premiere fois j'affiche "0%", la deuxieme foi 25% .. ja 100%.
jusque la tout va bien, sauf que mon programme fonctionne en recursif mais avec une pile que je gere moi meme ( donc en iteratif, en fait :-) ), donc je ne sais pas comment retrouver la profondeur.. voici un pseudo-pseudo-code de mon programme :
voila, en fait j'aimerais savoir s'il y a un moyen de savoir a quelle profondeur on est, en fonction de la taille de la pile et eventuellement de la situation ou on est : est ce qu'on vient de stocker ou de couper, a quelle profondeur on etait la derniere fois..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Pile P empiler(element de depart) tant que la pile n'est pas vide A<-- depiler(P) si A verifie une certaine condition, il est stocké (ou viré) sinon, couper A en 2 : A1 et A2 empiler(A1), empiler(A2) fin tant que
merci d'avoir tout lu !!
Partager