我目前正在研究可以使用变量的Shunting Yard算法的修改版本,但我无法弄清楚如何让它工作。例如,我希望算法重写2 *(2x + 5) - 5到4x + 5.已经实现的算法的任何想法/链接已经这样做了吗?
答案 0 :(得分:4)
2 * (2x + 5) - 5
2 * (2*x + 5) - 5
2 2 x * 5 + * 5 -
(每个字符都可以看作是数组的元素)。
-
/ \
* 5
/ \
2 +
/ \
* 5
/ \
2 x
5.定义代数规则并将其应用于树。例如,一个能够“乘以”的规则。带有2
子树的2 * x + 5
节点。