Alguém tem alguma dica á respeito de como armazenar uma expressão infixa em uma arvore binaria de modo que consiga fazer percursos em pré-ordem e pós-ordem?Usar uma pilha para auxiliar na inserção é imprescindível ou existe um algoritmo que despense o uso de pilha auxiliar?Se possível queria um auxílio com o uso de recurssão!
Usar árvores binárias pra armazenar expressões infixas é bem direto…
Se você tem uma expressão 5 + 2, por exemplo, você monta uma árvore
+
/ \
5 2
A raiz da árvore é o operador, e você percorre a árvore buscando operadores (pais) e seus operandos (filhos)…o único cuidado que tem que ser tomado é quanto à precedência de operadores; por exemplo, 5 + 2 * 3 deve virar
+
/ \
5 *
/ \
2 3
para que o valor da expressão com maior prioridade (multiplicação) seja calculado antes da de menor prioridade (adição). Percorrer essa árvore recursivamente te dá isso de graça 