Arvore binaria e expressao infixa

1 resposta
T

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!

1 Resposta

E

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 :smiley:

Criado 10 de abril de 2005
Ultima resposta 10 de abr. de 2005
Respostas 1
Participantes 2