• Revista PROGRAMAR: Já está disponível a edição #55 da revista programar. Faz já o download aqui!

usermanero

Notação Polonesa Reversa

4 mensagens neste tópico

Olá,

Tenho um problema sobre notação polonesa reversa. Ex:

a+b = ab+

(a+c)*b = ac+b*

Só que no meu caso, não vou ter os operadores, e devo descobri-los. Ex:

22? = 4              (respostas: 2+2 e 2*2)

Por motivos de simplificação, apenas os operadores + e * serão utilizados. Nesse caso, pensei em criar uma pilha para os operandos e quando achar o simbolo ?, desempilhar dois operandos e fazer a operação (+ ou *). Minha maior duvida aqui é em relação a como fazer todas as possíveis operações de forma eficiente. Teria alguma forma prévia de saber quando deverei somar e quando deverei multiplicar? Pois, quando tenho uma expressão maior, fica cada vez mais difícil testar todas as possibilidades. Alguma sugestão sobre como testar essas possibilidades?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não

uma árvore de possibilidades. o que quero dizer é que a maneira mais simples é a força bruta e testar tudo, e para isso a criação de uma árvore e percorrer-la é uma solução fácil de implementar

nota : "criar" e percorrer essa árvore não necessita obgratoriamente de alocação de uma árvore em memória

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora