Algorithm to evaluate prefix expression?

前端 未结 2 427
夕颜
夕颜 2021-01-16 23:30

I have a prefix expression that only has the 4 binary operators(+,-,*,/) .A straight forward way to evaluate such an expression is to convert it to a postfix expression and

相关标签:
2条回答
  • 2021-01-17 00:02

    Simple recursion:

    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)
    
    0 讨论(0)
  • 2021-01-17 00:14

    Use a stack. Place your vars and operators and start popping each stack, one for operators and the other for varaiablss (the number of pops depending on arity).

    0 讨论(0)
提交回复
热议问题