usermanero Posted April 19, 2017 at 10:17 PM Report #603723 Posted April 19, 2017 at 10:17 PM 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?
HappyHippyHippo Posted April 20, 2017 at 07:11 AM Report #603728 Posted April 20, 2017 at 07:11 AM uma árvore IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
usermanero Posted April 20, 2017 at 08:24 PM Author Report #603742 Posted April 20, 2017 at 08:24 PM Uma arvore de operadores, no caso?
HappyHippyHippo Posted April 24, 2017 at 03:12 PM Report #603784 Posted April 24, 2017 at 03:12 PM 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 IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now