检查两个数学表达式是否相等

时间:2013-06-27 07:11:23

标签: c# algorithm math

是否有一个简单的算法来检查两个表达式是否相等?例如,它必须检测到表达式“x + 5”和“5 + x”是否相等,方程式“y = x + 5”和“y = 5 + x”?是相同的。 我将在C#上实现算法,所以任何代码示例的链接都非常有用。

2 个答案:

答案 0 :(得分:4)

我认为您可以将表达式解析为树并比较树 http://en.wikipedia.org/wiki/Binary_expression_tree

答案 1 :(得分:2)

更好的方法是生成一个前缀表达式,并遍历它,并为每个二元运算符检查操作数是否匹配。