从二叉树中获取中缀算法

时间:2016-10-27 16:52:23

标签: algorithm binary-tree avl-tree

enter image description here

嗨,我需要从二叉树中获取四件事

  1. 中缀算术表达GOT IT并测试:
  2.   

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

    1. 使用x = -1 GOT IT评估表达式并进行测试:
    2.   

      7

      1. 中缀算术表达式,如果代替*是+
      2. 我试图做到这一点,但都错了:

        -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 /

        2. 我希望你能帮助我。 感谢

1 个答案:

答案 0 :(得分:0)

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

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

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

module.exports = {
'Login' : function (browser) {
    var login = browser.page.login()

    login.expect.element('@login').to.not.be.enabled
    login
        .setValue('@email', 'some@some.com')
        .setValue('@password', 'pass')
        .expect.element('@login').to.be.enabled
    login    
        .click('@login')
    .end()
    }
}