从二叉树获取中缀算法

Get infix algorithm from binary tree

你好,我需要从二叉树中得到四个东西

  1. 中缀算术表达式 GOT IT and tested:

-4*(-5-2)/(-1*x-(-3))

  1. 用 x = -1 计算表达式 知道并测试:

7

  1. 中缀算术表达式,如 if instead * is +

我试着做这个但是全错了:

-4+(-5-2)/(-1+x)-(-3)
-4+(-5-2)/((-1+x)-(-3))
-4+(-5-2)/(-1+x-(-3))
-4+(-5-2)/(-1+x)-(-3)
-4+(-5-2)/-1+x-(-3)
-4+(-5-2)/((-3)-(-1+x))
-4+(-5-2)/(-3)-(-1+x)

(-5-2)+(-4)/((-1+x)-(-3))
(-5-2)+(-4)/(-1+x-(-3))
(-5-2)+(-4)/(-1+x)-(-3)
(-5-2)+(-4)/-1+x-(-3)
(-5-2)+(-4)/((-3)-(-1+x))
(-5-2)+(-4)/(-3)-(-1+x)
  1. 得到后缀算术表达式,我想应该是这样的,不是,也是错误的:

    45-2-1x-3--/-

    -4-52--1-3/

希望你能帮助我。 谢谢

第一行的数字 3 是错误的(记住除法和乘法在加法和减法之前):

(-4 + (-5 - 2)) / ((-1 + x) - -3)
(-4 + -5 - 2) / (-1 + x - -3)

而Number 4后缀表示法(也称为反向抛光表示法)可以通过深度优先遍历得到,在访问完两个子节点后添加父节点:

-4 -5 2 - * -1 x * -3 - /