我目前正在修改Shunting Yard算法的版本,使其能够处理变量,但我无法想出如何让它工作。例如,我希望该算法将2 * (2x + 5) - 5重写为4x + 5。有任何想法/已经实现此功能的算法链接吗?
我目前正在修改Shunting Yard算法的版本,使其能够处理变量,但我无法想出如何让它工作。例如,我希望该算法将2 * (2x + 5) - 5重写为4x + 5。有任何想法/已经实现此功能的算法链接吗?
2 * (2x + 5) - 5
。2 * (2*x + 5) - 5
。2 2 x * 5 + * 5 -
(每个字符都可以看作数组的一个元素)。
-
/ \
* 5
/ \
2 +
/ \
* 5
/ \
2 x
5. 对树定义并应用代数规则。例如,一条规则能够将2
节点与2*x+5
子树相“乘”。