Ma classe d'assemblage MIPS m'a demandé de lire une expression de taille inconnue dans un arbre d'analyse. Je ne l'ai jamais eu à traiter avec des arbres, donc voilà comment je suis allé autour de valeurs: stockageÀ propos des arbres et des préfixes (polonais) Notation?
permet de dire que l'utilisateur est entré dans l'expression 1 + 3 - 4 (chaque opérande ne peut être un chiffre 1-9)
Mon nœud enfant à gauche serait le point de départ et contiennent 2 morceaux de données
1. The operand
2. Pointer to the next node (operator)
Voilà comment je construit l'arbre. Ma tâche suivante consistait à parcourir récursivement l'arborescence et à générer les valeurs en notation infix/prefix/postfix.
La traversée d'infixes n'était pas un problème compte tenu de la façon dont j'ai construit mon arbre.
Je suis bloqué sur le préfixe. Premièrement, je ne comprends pas tout à fait.
Lorsque j'exprime notre expression (1 + 3 - 4) dans le préfixe devrait-il sortir - + 1 3 4? J'ai de la difficulté à suivre les exemples en ligne.
Pensez-vous également que mon arbre est construit correctement? Je n'ai aucun moyen d'aller à un nœud précédent à partir du nœud actuel, ce qui signifie que je dois toujours commencer la traversée depuis le nœud enfant le plus à gauche qui ne semble pas correct, même si mon AT a dit que c'était le chemin à parcourir.
Nous vous remercions de votre aide.
Ceci est la même réponse que j'étais sur le point de donner. Merci sykora! – Niyaz
+1 pour le placement de l'opérande dans l'arborescence. –