是否有一个简单的算法来检查两个表达式是否相等?例如,它必须检测到表达式“x + 5”和“5 + x”是否相等,方程式“y = x + 5”和“y = 5 + x”?是相同的。 我将在C#上实现算法,所以任何代码示例的链接都非常有用。
答案 0 :(得分:4)
我认为您可以将表达式解析为树并比较树 http://en.wikipedia.org/wiki/Binary_expression_tree
答案 1 :(得分:2)
更好的方法是生成一个前缀表达式,并遍历它,并为每个二元运算符检查操作数是否匹配。