检查二叉树中的节点是否留在根节点

时间:2017-03-11 16:58:16

标签: java algorithm tree expression-trees

给定二叉树,我如何识别节点的左子节点(或节点本身的左子节点,但该部分相当简单)的子节点。

我正在处理表达式树,并且当我对树进行顺序遍历时,我试图从表达式中删除不必要的括号。我注意到,当一个节点的运营商离开时节点具有与节点相同的优先级时,不需要括号,但是在节点的右边需要括号(除非运算符都是+或*)。

public class ExpTree {
        private int type;
        private Object leafVal;
        private ExpTree lChild, rChild;
        public static final int NUM = 0, VAL = 1, OP = 2;

        public ExpTree(int type, Object leafVal, ExpTree l, ExpTree r) {
            this.type = type;
            this.leafVal = leafVal;
            this.lChild = l;
            this.rChild = r;
        }
}

我已经考虑过遍历整棵树,但这似乎效率低下。

0 个答案:

没有答案