我需要读取Polynom并将其转换为标准化形式。
例如我在4*x * (x^2 + 4x + 3)
中读到了它,它必须转换为4*x^3 + 16*x^2 + 12*x
。
是否有一些棘手的算法,或者我必须自己想一些事情。我认为基本上这只是扩大这个词。
我正在递归地解析该术语并生成一个解析树,因此规范化操作将应用于此解析树。
感谢所有帮助我的人
答案 0 :(得分:1)
这可以是代表表达式4*x * (x^2 + 4x + 3)
的表达式二叉树:
*
/ \
* +
4 x / \
^ +
x 2 / \
* 3
4 x
现在你必须将4x
与x^2+4x+3
相乘,这可以像这样结束二进制树,就像我们人类一样:
+
/ \
+ *
/ \ * 3
* * 4 x
/ \ / \
* ^ * *
4 x x 2 4 x 4 x
然后继续乘以数字并x's
添加指数。您必须在树中搜索每个运算符,并查找它的子项以应用相应的代数规则。
希望这有帮助。