在我的考试中,我得到了这个表达式,但未能构建二叉树。什么是解决方案?
(5a-3b)^2*(3a+5b)^3
我从上面的表达式中提取了树
*
/ \
/ \
^ \
/ \ \
/ \ \
- 2 ^
/ \ / \
/ \ + 3
* * / \
/ \ / \ / \
5 a 3 b * *
/ \ / \
3 a 5 b
我从这个答案得到0!我无法理解原因!
有人能帮助我吗?
答案 0 :(得分:0)
构造二叉树并不意味着您只需绘制此处显示的图形表示。
我认为它实际上意味着在代码中实现或者在伪代码中实现。
因此,请再次使用stack
使用相同的表达式
将infix
表示法转换为postfix
,您可以使用堆栈属性轻松解决此问题。
答案 1 :(得分:0)
我目前正在攻读离散数学课程,我们正在研究树木。你必须记住将每个级别放在自己的()中。所以我相信你创建的树看起来像这样一个表达式:((5 * a) - (3 * b))^ 2 *((3 * a)+(5 * b))^ 3。这是树的Inorder遍历。对于你的答案,你需要更像这样的东西:
*
/ \
/ \
/ \
^ \
/ \ \
/ \ \
- 2 ^
/ \ / \
/ \ / 3
5a 3b +
/ \
/ \
3a 5b