Non c'est une strutucre de donée, mais oui ca fait bien comme ca....disons que de toute facon t'es obligé de faire comme ca ( pour vouloir deriver le premier niveau, tu regarde quel est l'operateur le "plus eleve", disons +: ton expression est a+b, alors t'appelles recusrsivement ta fonction pour deriver a, deriver b, et tu renvoie a' + b'. Ca ne boucle pas car y'a des cas genre constante/X où il n'y a pas besoin de faire d'appel recursif )
Un arbre, c'est un truc avec des noeuds qui ont pour fils des noeuds ou des feuilles. Par exemple ca peut ressebler a ca:
+
| |
* 2
| |
x 5
pour l'expression (5*x) + 2. ( mais ca sert a tout plein d'autres trucs que representer des expression mathematiques )
Typiquement un noeud est qqch comme (+,adresse_fils1,adresse_fils) (ou, sur les languages evolués genre fonctionel, directement le les fils a la place de leur adresse ), etc.
Mais de toute facon même en representant les donnes autrement tu va faire qqch de très semblable ( enfin, tu peux partir du bas si t'a envie et remonter, mais c'est plus complique pour pas mieux .. )
edit: pre pour visualiser l'arbre