Dans les structures de données, j'obtiens la conversion dans l'ordre et les conversions de formules de pré-commande en arbres. Cependant, je ne suis pas très bon avec la post-commande.Traversée de commande d'une formule
Pour la formule donnée x y z + a b - c */-
je suis venu avec
- / \ * /(divide) /\ /\ x + - c /\ /\ y z a b
Pour la plupart, cela semble correspondre, à l'exception du * dans le sous-arbre gauche est le joker dans le pont. Dans la traversée d'ordre, le dernier caractère est le nœud supérieur de l'arbre, tout le reste se déconnecte. Maintenant, je prends les opérateurs/et * pour signifier qu'ils devraient être sur des noeuds opposés. Cependant, lors de la traversée d'un arbre, tout va bien sauf le *, puisque le sous-arbre gauche doit travailler jusqu'au noeud avant la racine, puis passer au sous-arbre droit.
Un coup de pouce dans la bonne direction est apprécié.
Merci, cette solution semble être la meilleure solution. Je me suis perdu après x (y + z) ((a-b) * c) et je ne savais pas comment placer les deux derniers opérateurs. – Jason