设有算术表达式x+a*(y-b)-c/d,该表达式的前缀表示为(),后缀表示为().这种题怎么看,有什么技巧么?

1个回答

  • http://zhidao.baidu.com/question/79182507.html可以把表达式看做是二叉树,然后前序遍历或者后续遍历?

    先将操作数作为叶子节点,操作符作为根节点建立二叉树.无论什么序,左子树优先于右子树,前序后序中序,指的是左子树和父节点的关系.自顶向下,左子树A操作(Operation)右子树B ,前序写 ((A)(B)O),中序写((A)O(B)).后序写((A)(B)O)然后将左子树A扩展成为(C)(D)O ,(C)O (D),或者(C)(D)O对右子树B以此类推对C D子树以此类推,直到碰到叶子节点.如果是叶子节点,可以不用括号包裹.