0

我有一个前缀表示法的布尔表达式。可以说是or and A B or or C D E。当我将它转换为中缀符号时,我最终得到 ((A and B) or ((C or D) or E)). 我想把它减少到(A and B) or C or D or E. 我应该减少中缀符号还是实际上更容易从前缀符号中获得简化的方程。我应该使用什么算法?

4

1 回答 1

1

X % (X1 ? X2 ? .. ? Xn) % X(n+1)在 Xi 是带括号的表达式或布尔值“?”的表达式中,可以删除 括号。和 "%" 是运算符当且仅当每个 "?" 运算符的优先级高于或等于“%”运算符。

对于中缀表示法,您会找到最里面的表达式,检查是否可以删除括号,保存结果,处理父表达式并继续直到完成所有括号检查。

这变成了一个映射问题。后缀符号使括号消除变得容易。前缀、中缀和后缀符号之间的转换是微不足道的。

于 2016-08-08T18:35:24.397 回答