-->

算法来评估前缀体现在哪里?(Algorithm to evaluate prefix express

2019-07-20 00:41发布

我有一个前缀表达式,只有拥有4个二进制运算符(+, - ,*,/)。一个简单的方法来评估这样的表达是将其转换为后缀表达式,然后评估该表达式。 但我在寻找一种算法,直接做到这一点,而不将其转换为任何其他的表达?

Answer 1:

简单而又重复的:

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)


Answer 2:

使用堆栈。 请将您的增值经销商和运营商,并开始弹出每个堆栈,一个运营商,另一个用于varaiablss(取决于元数跳跃的数量)。



文章来源: Algorithm to evaluate prefix expression?