gpt4 book ai didi

postfix-notation - 如何检查给定表达式是中缀表达式、后缀表达式还是前缀表达式?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:12:01 26 4
gpt4 key购买 nike

我需要算法来检查给定表达式是中缀、后缀还是前缀表达式。我已经通过检查字符串的第一个或最后两个术语尝试了一种方法,例如

+AB if there is an operator in the very first index of string then its a prefix

AB+ if there is an operator in the very last index of string then its a postfix

else it is an infix.

但感觉不合适所以请建议我一个更好的算法。

最佳答案

  1. 如果它以有效的中缀运算符开头,它就是中缀,除非您打算允许一元运算符。
  2. 如果它以有效的后缀运算符结尾,它就是后缀。
  3. 否则它要么是中缀要么是无效的。

请注意,(3) 包括您在括号中表达式的注释中提到的情况。前缀或后缀中没有括号。这就是它们存在的原因。 (3) 还包括单项的退化情况,例如1,但在这种情况下,您如何解析它并不重要。

您只能通过完全解析来检测无效表达式。

如果您打算在中缀表示法中允许一元运算符,我只能建议您尝试所有三种解析,并在成功时停止。无论如何,这很可能是您应该遵循的策略。

关于postfix-notation - 如何检查给定表达式是中缀表达式、后缀表达式还是前缀表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39823568/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com