postfix online infix geeksforgeeks algorithm language-agnostic prefix infix-notation postfix-notation

algorithm - online - Algoritmo para evaluar la expresión del prefijo



infix to postfix online (2)

Tengo una expresión de prefijo que solo tiene los 4 operadores binarios (+, -, *, /). Una forma directa de evaluar tal expresión es convertirla a una expresión de postfijo y luego evaluar esa expresión. Pero estoy buscando un algoritmo que lo haga directamente sin convertirlo a ninguna otra expresión.


Recursión simple:

Evaluate(input): Read a token from input. If the token is a value: Return the value of the token If the token is a binary operator: Let first_argument = Evaluate(input) Let second_argument = Evaluate(input) Return apply(operator, first_argument, second_argument)


Usa una pila. Coloque sus vars y operadores y comience a hacer estallar cada pila, uno para operadores y otro para varaiablss (el número de pops depende de arity).