一尘不染

评估前缀表达的算法?

algorithm

我有一个仅包含4个二元运算符(+,-,*,/)的前缀表达式。评估此类表达式的一种直接方法是将其转换为后缀表达式,然后评估该表达式。但是我正在寻找一种无需直接将其转换为任何其他表达式的算法?


阅读 197

收藏
2020-07-28

共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)
2020-07-28