0

在我的考试中,我得到了这个表达式并且未能构造二叉树。解决方案是什么?

(5a-3b)^2*(3a+5b)^3

我从上面的表达式中画了树,比如

            *
           / \
          /   \
         ^     \
        / \     \
       /   \     \
      -     2     ^
    /  \         / \
   /    \       +   3
  *      *     / \
 / \    / \   /   \
5   a  3  b  *     *
            / \   / \
           3   a  5  b

我从这个答案中得到 0!我无法理解原因!

有谁能够帮我?

4

2 回答 2

0

我目前正在学习离散数学课程,我们的主题是树。您必须记住将每个级别放在自己的()中。所以我相信你创建的树看起来像一个表达式:((5*a)-(3*b))^2*((3*a)+(5*b))^3。这是树的中序遍历。对于您的答案,您需要更多类似的东西:

                  *
                /   \
               /     \
              /       \
             ^         \
           /   \        \
          /     \        \
         -       2        ^
       /   \             /  \
      /     \           /    3
    5a       3b        +
                     /   \
                    /     \
                  3a       5b
于 2014-08-09T19:30:26.460 回答
0

构建二叉树并不意味着您只需绘制您在此处显示的图形表示。我认为这实际上意味着在代码中实现或可能在伪代码中实现。所以再次考虑使用stack相同的表达式将infix符号转换为postfix,您可以使用堆栈属性轻松解决它。

于 2012-10-20T21:20:19.177 回答