Bon j´ai déjà un petit bout de programme qui me construit un arbre à partir d´une expression entrée, mais j´aimerai savoir à présent quelle est la meilleure manière de procéder afin d´évaluer/calculer la dite exprssion contenue dans l´arbre.
J´ai pensé à 2 manières de procéder :
A l´aide d´une fonction récursive à laquelle je passe la racine de l´arbre puis qui se charge de s´appeler elle même jusqu´à ce qu´elle parvienne aux feuilles : cela fonctionne très bien, mais dès que l´arbre est trop volumineux, ca plante : problème de mémoire lié à la récursivité.
Ou alors j´ai eu l´idée d´un truc que je n´ai pas encore testé mais qui m´a l´air pas mal : associer à chaque noeud une variable " niveau" qui renferme sa " hauteur" au sein de l´arbre : le noeud principal/racine a ainsi le niveau 0, les noeuds principaux de l´arbre fils gauche et de l´arbre fils droit 1, etc...
Et évaluer chaque expression noeud en commencant par celles qui occupent les niveaux les plus hauts dans l´arbre jusqu´aux plus basses.
Cette dernière m´a l´air assez chouette et je vais m´y mettre, mais j´aurais aimé savoir s´il n´existait pas par hasard une " méthode ultime" 